home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 37
/
Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso
/
Aminet
/
dev
/
lang
/
sofa.lha
/
sofa
/
smalleiffel
/
bin_c
/
compile_to_c16.c
< prev
next >
Wrap
C/C++ Source or Header
|
2000-03-25
|
113KB
|
4,683 lines
/*
-- ANSI C code generated by :
-- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.76Beta#1)--
-- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
-- Dominique COLNET and Suzanne COLLIN - colnet@loria.fr --
-- http://SmallEiffel.loria.fr/ --
*/
#include "compile_to_c.h"
void r249warning(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_warning((T66*)(oBC13eh));
}
void r249c2c_clear_expanded(T249* C,T2 a1){
X104compile_to_c((/*RF2*/(C)->_writable/*12*/));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\75');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'M');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),a1);
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
/*]*/
}
void r249c2c_closing(T249* C,T0* a1){
T0* _once_result=NULL;
_once_result=(/*RF2*/(C)->_writable/*12*/);
if(NULL!=(_once_result)){
switch(((T0*)_once_result)->id){
case 145:
break;
default:
_once_result=NULL;
}
}/*[IF*/
if((_once_result)==((void*)(NULL))){
X104compile_to_c((/*RF2*/(C)->_writable/*12*/));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms248_4213));
/*]*/
}
/*FI]*/
/*[IF*/
if(r325call_invariant_start(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'n');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\73');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\175');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\n');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
T0* r249add_comment(T249* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
/*AF*/else{
{T224*n=((T224*)malloc(sizeof(*n))/*12*/);
*n=M224;
r224make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r249check_created_type(T249* C,T0* a1){
T0* _rt=NULL;
_rt=X52run_type(a1);
/*[IF*/
if((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/)){
}
else if((/*RF2*/((T51*)(X52base_class(_rt)))->_is_deferred/*16*/)){
r66add_type(_rt,((T0*)ms248_11648));
r249warning((/*RF2*/(C)->_start_position/*4*/),((T0*)ms248_30681));
}
/*FI]*/
/*[IF*/
if(X52is_formal_generic(a1)){
r66add_position((/*RF2*/(C)->_start_position/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms248_76570);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66add_type(a1,((T0*)ms248_174));
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
r50set_at_run_time((T50*)(X52run_class(_rt)));
}
void r249compile_to_c(T249* C){
/*[IF*/
if(X52is_reference((/*RF2*/(C)->_type/*20*/))){
r249c2c_opening(C,(/*RF2*/(C)->_type/*20*/));
r249c2c_closing(C,(/*RF2*/(C)->_type/*20*/));
}
else{
r249c2c_clear_expanded(C,X52id((/*RF2*/(C)->_type/*20*/)));
}
/*FI]*/
}
void r249check_creation_clause(T249* C,T0* a1){
/*[IF*/
if(/*(IRF4.7has_creation_clause*/((/*RF2*/((T51*)(X52base_class(a1)))->_creation_clause_list/*38*/))!=(NULL)/*)*/){
/*[IRF3.6append*/{T0* b1=((T0*)ms247_36693);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66add_type(a1,((T0*)ms247_156));
r249error((/*RF2*/(C)->_start_position/*4*/),((T0*)ms247_45900));
}
/*FI]*/
}
void r249check_writable(T249* C,T0* a1){
T0* _w=NULL;
(/*SFN*/C->_current_type)=a1;
_w=X104to_runnable((/*RF2*/(C)->_writable/*12*/),a1);
/*[IF*/
if((_w)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X104start_position((/*RF2*/(C)->_writable/*12*/)),&se_tmp0)));
}
r249fatal_error(((T0*)ms248_63756));
}
else{
(/*SFN*/C->_writable)=_w;
}
/*FI]*/
}
T6 r249use_current(T249* C){
T6 R=0;
R=X104use_current((/*RF2*/(C)->_writable/*12*/));
return R;
}
T6 r249stupid_switch(T249* C,T0* a1){
T6 R=0;
T0* _t=NULL;
/*[IF*/
if(((/*RF2*/(C)->_type/*20*/))!=((void*)(NULL))){
_t=(/*RF2*/(C)->_type/*20*/);
}
else{
_t=X104result_type((/*RF2*/(C)->_writable/*12*/));
}
/*FI]*/
/*[IF*/
if(X52is_anchored(_t)){
}
else if(X52is_generic(_t)){
}
else{
/*[IF*/
{/*AT*/R=X104stupid_switch((/*RF2*/(C)->_writable/*12*/),a1);
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r249to_runnable(T249* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((/*RF2*/(C)->_current_type/*16*/))==((void*)(NULL))){
r249check_writable(C,a1);
r249check_explicit_type(C);
r249check_created_type(C,(/*RF2*/(C)->_type/*20*/));
r249check_creation_clause(C,(/*RF2*/(C)->_type/*20*/));
R=((T0*)(C));
}
else{
{T249*n=((T249*)malloc(sizeof(*n))/*24*/);
*n=M249;
r249make(n,(/*RF2*/(C)->_start_position/*4*/),(/*RF2*/(C)->_type/*20*/),(/*RF2*/(C)->_writable/*12*/));
R=((T0*)n);
}
R=r249to_runnable(((T249*)R),a1);
}
/*FI]*/
return R;
}
void r249check_explicit_type(T249* C){
T0* _t=NULL;
T0* _ct=NULL;
_ct=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)(r49top_rf((T49*)(oBC13small_eiffel))))->_current_type/*8*/);
_t=X52to_runnable((/*RF2*/(C)->_type/*20*/),_ct);
/*[IF*/
if(((_t)==((void*)(NULL)))||(!(X52is_run_type(_t)))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X52start_position((/*RF2*/(C)->_type/*20*/)),&se_tmp0)));
}
r249fatal_error(((T0*)ms250_33396));
}
else{
(/*SFN*/C->_type)=_t;
}
/*FI]*/
/*[IF*/
if(!(X52is_a((/*RF2*/(C)->_type/*20*/),X104result_type((/*RF2*/(C)->_writable/*12*/))))){
r249fatal_error(((T0*)ms250_34344));
}
/*FI]*/
}
void r249c2c_opening(T249* C,T0* a1){
T0* _once_result=NULL;
T0* _rc=NULL;
_rc=X52run_class(a1);
r325se_trace_ins((T325*)(oBC13cpp),(/*RF2*/(C)->_start_position/*4*/));
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\173');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
r344allocation((T344*)(oBC13gc_handler),_rc);
r325expanded_attributes((T325*)(oBC13cpp),a1);
_once_result=(/*RF2*/(C)->_writable/*12*/);
if(NULL!=(_once_result)){
switch(((T0*)_once_result)->id){
case 145:
break;
default:
_once_result=NULL;
}
}/*[IF*/
if((_once_result)!=((void*)(NULL))){
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),r145c_variable_name(((T145*)_once_result)));
/*]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms248_4213a));
/*]*/
}
/*FI]*/
}
T6 r249is_pre_computable(T249* C){
T6 R=0;
R=X104is_result((/*RF2*/(C)->_writable/*12*/));
return R;
}
void r249error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T6 r61is_subclass_of(T61* C,T0* a1){
T6 R=0;
/*[IF*/
if((((T0*)ms15_1216))==((void*)((/*RF2*/(C)->_to_string/*8*/)))){
R=1;
}
else if((((T0*)ms15_696))==((void*)((/*RF2*/(((T61*)a1))->_to_string/*8*/)))){
R=1;
}
else if((((T0*)ms15_1216))==((void*)((/*RF2*/(((T61*)a1))->_to_string/*8*/)))){
}
else{
R=r51is_subclass_of((T51*)(r61base_class(C)),r61base_class(((T61*)a1)));
}
/*FI]*/
return R;
}
void r61make(T61* C,T0* a1,T68 a2){
(/*SFN*/C->_to_string)=a1;
(/*SFN*/C->_start_position)=a2;
}
T0* r61base_class(T61* C){
T0* R=NULL;
R=r49base_class((T49*)(oBC13small_eiffel),(T0*)C);
return R;
}
T0* r269generic_list(T269* C){
T0* R=NULL;
r269fatal_error_generic_list(C);
return R;
}
void r269gc_call_new_in(T0* a1){
r7append(((T7*)a1),((T0*)ms14_990));
r2append_in(8,a1);
r7extend(((T7*)a1),((T3)'\50'));
r7extend(((T7*)a1),((T3)'\51'));
}
T0* r269base_class(T269* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(/*RF2*/(C)->_base_class_name/*4*/);
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r61base_class(((T61*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66add_type((T0*)C,((T0*)ms14_46));
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
T0* r269look_up_for(T269* C,T0* a1,T0* a2){
T0* R=NULL;
R=r51look_up_for((T51*)(r269base_class(C)),a1,a2);
return R;
}
T6 r269has_creation(T269* C,T0* a1){
T6 R=0;
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
}
r269error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms264_99414));
return R;
}
void r269error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r269actual_reference(T0* a1){
T0* R=NULL;
T0* _cn=NULL;
/*[IF*/
if((X52run_time_mark(a1))==((void*)(((T0*)ms15_12804)))){
R=a1;
}
else{
{T68 se_tmp0;
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
r61make(n,((T0*)ms15_12804),(*(se_tmp0=X52start_position(a1),&se_tmp0)));
_cn=((T0*)n);
}
}
{T272*n=((T272*)malloc(sizeof(*n))/*8*/);
*n=M272;
/*[IRF3.3make*/((((T272*)(n)))->_base_class_name)=(_cn);
/*]*/
R=((T0*)n);
}
}
/*FI]*/
return R;
}
T6 r269is_a_in(T269* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if((r269written_mark())==((void*)(X52written_mark(a1)))){
R=1;
}
else{
_ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
_t1=r269to_runnable(C,_ct);
_t2=X52to_runnable(a1,_ct);
/*[IF*/
if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
R=1;
}
else{
R=X52is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}
T6 r269is_native_array(T269* C){
T6 R=0;
T0* _tna=NULL;
_tna=NULL;
R=(_tna)!=((void*)(NULL));
return R;
}
T6 r269is_a(T269* C,T0* a1){
T6 R=0;
/*[IF*/
if(X52is_pointer(a1)){
R=1;
}
else{
R=r51is_subclass_of((T51*)(r269base_class(C)),X52base_class(a1));
}
/*FI]*/
/*[IF*/
if(!(R)){
r66add_type((T0*)C,((T0*)ms269_23751));
r66add_type(a1,((T0*)ms14_46));
}
/*FI]*/
return R;
}
void r269make(T269* C,T68 a1){
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
r61make(n,((T0*)ms15_6776),a1);
(/*SFN*/C->_base_class_name)=((T0*)n);
}
}
T2 r269c_sizeof_pointer(void){
T2 R=0;
T8 _p=NULL;
R=sizeof(T8);
return R;
}
void r269fatal_error_generic_list(T269* C){
r66add_type((T0*)C,((T0*)ms52_28899));
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r269c_initialize_in(T0* a1){
/*[IF*/
{/*AT*/r7append(((T7*)a1),((T0*)ms14_1260));
}
/*FI]*/
}
T0* r269smallest_ancestor(T269* C,T0* a1){
T0* R=NULL;
T0* _rto=NULL;
_rto=X52run_type(a1);
/*[IF*/
if(X52is_pointer(_rto)){
R=((T0*)(C));
}
else{
R=r272smallest_ancestor((T272*)(r269type_pointer_ref()),_rto);
}
/*FI]*/
return R;
}
int fBC269check_type=0;
void r269check_type(T269* C){
if(fBC269check_type==0){fBC269check_type=1;{
T0* _rc=NULL;
T0* _bc=NULL;
_bc=r269base_class(C);
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
_rc=r269run_class(C);
r269load_ref(((T0*)ms15_12804));
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
if(!((/*RF2*/(((T51*)_bc))->_is_expanded/*17*/))){
r269error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms269_38600));
}
/*FI]*/
}
/*FI]*/
}}}
void r269load_ref(T0* a1){
T0* _rf=NULL;
T0* _rc=NULL;
T0* _cn=NULL;
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
/*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(a1);
/*]*/
_cn=((T0*)n);
}
_rc=r51run_class((T51*)(r61base_class(((T61*)_cn))));
_rf=r50get_feature_with(((T50*)_rc),((T0*)ms15_1724));
}
T0* r269to_runnable(T269* C,T0* a1){
T0* R=NULL;
R=((T0*)(C));
r269check_type(C);
return R;
}
T0*oBC269type_pointer_ref=NULL;
int fBC269type_pointer_ref=0;
T0* r269type_pointer_ref(void){
if(fBC269type_pointer_ref==0){fBC269type_pointer_ref=1;{
T0* _pointer_ref=NULL;
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
/*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(((T0*)ms15_12804));
/*]*/
_pointer_ref=((T0*)n);
}
{T272*n=((T272*)malloc(sizeof(*n))/*8*/);
*n=M272;
oBC269type_pointer_ref=((T0*)n);
/*[IRF3.3make*/((((T272*)(n)))->_base_class_name)=(_pointer_ref);
/*]*/
}
}}
return oBC269type_pointer_ref;
}
void r269id_extra_information(T0* a1){
r48put_string(((T48*)a1),((T0*)ms52_9724));
/*[IF*/
/*AF*//*AE*/
r48put_string(((T48*)a1),((T0*)ms52_759));
/*FI]*/
}
void r269gc_mark_in(T0* a1){
r7append(((T7*)a1),((T0*)ms14_8764));
r2append_in(8,a1);
}
void r269c_type_for_external_in(T0* a1){
/*[IF*/
/*AF*//*AE*/
/*[IRF3.6c_type_for_result_in*/{T0* b1=a1;
r269c_type_for_argument_in(b1);
}/*]*/
/*FI]*/
}
void r269c_type_for_argument_in(T0* a1){
r7extend(((T7*)a1),((T3)'T'));
r7extend(((T7*)a1),((T3)'8'));
}
T0* r269run_time_mark(void){
T0* R=NULL;
R=((T0*)ms15_6776);
return R;
}
T0* r269run_class(T269* C){
T0* R=NULL;
R=r49run_class((T0*)C);
return R;
}
void r269demangling_in(T0* a1){
/*[IF*/
/*AF*//*AE*/
r7extend(((T7*)a1),((T3)'E'));
/*FI]*/
r7extend(((T7*)a1),((T3)'\40'));
r7append(((T7*)a1),r269run_time_mark());
}
T0* r269written_mark(void){
T0* R=NULL;
R=((T0*)ms15_6776);
return R;
}
T0* r267generic_list(T267* C){
T0* R=NULL;
r267fatal_error_generic_list(C);
return R;
}
void r267gc_call_new_in(T0* a1){
r7append(((T7*)a1),((T0*)ms14_990));
r2append_in(2,a1);
r7extend(((T7*)a1),((T3)'\50'));
r7extend(((T7*)a1),((T3)'\51'));
}
T0* r267base_class(T267* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=(/*RF2*/(C)->_base_class_name/*4*/);
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r61base_class(((T61*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66add_type((T0*)C,((T0*)ms14_46));
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
T0* r267look_up_for(T267* C,T0* a1,T0* a2){
T0* R=NULL;
R=r51look_up_for((T51*)(r267base_class(C)),a1,a2);
return R;
}
T2 r267c_sizeof(void){
T2 R=0;
R=sizeof(T2);
return R;
}
T6 r267has_creation(T267* C,T0* a1){
T6 R=0;
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
}
r267error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms264_99414));
return R;
}
void r267error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r267actual_reference(T0* a1){
T0* R=NULL;
T0* _cn=NULL;
/*[IF*/
if((X52run_time_mark(a1))==((void*)(((T0*)ms15_12595)))){
R=a1;
}
else{
{T68 se_tmp0;
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
r61make(n,((T0*)ms15_12595),(*(se_tmp0=X52start_position(a1),&se_tmp0)));
_cn=((T0*)n);
}
}
{T272*n=((T272*)malloc(sizeof(*n))/*8*/);
*n=M272;
/*[IRF3.3make*/((((T272*)(n)))->_base_class_name)=(_cn);
/*]*/
R=((T0*)n);
}
}
/*FI]*/
return R;
}
T6 r267is_a_in(T267* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if((r267written_mark())==((void*)(X52written_mark(a1)))){
R=1;
}
else{
_ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
_t1=r267to_runnable(C,_ct);
_t2=X52to_runnable(a1,_ct);
/*[IF*/
if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
R=1;
}
else{
R=X52is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}
T6 r267is_native_array(T267* C){
T6 R=0;
T0* _tna=NULL;
_tna=NULL;
R=(_tna)!=((void*)(NULL));
return R;
}
T6 r267is_a(T267* C,T0* a1){
T6 R=0;
/*[IF*/
if(X52is_integer(a1)){
R=1;
}
else if((X52is_double(a1))||(X52is_real(a1))){
R=1;
}
else{
R=r51is_subclass_of((T51*)(r267base_class(C)),X52base_class(a1));
}
/*FI]*/
/*[IF*/
if(!(R)){
r66add_type((T0*)C,((T0*)ms14_17460));
r66add_type(a1,((T0*)ms14_46));
}
/*FI]*/
return R;
}
void r267make(T267* C,T68 a1){
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
r61make(n,((T0*)ms15_6643),a1);
(/*SFN*/C->_base_class_name)=((T0*)n);
}
}
void r267fatal_error_generic_list(T267* C){
r66add_type((T0*)C,((T0*)ms52_28899));
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r267c_initialize_in(T0* a1){
/*[IF*/
/*AF*//*AE*/
r7extend(((T7*)a1),((T3)'0'));
/*FI]*/
}
T0* r267smallest_ancestor(T267* C,T0* a1){
T0* R=NULL;
T0* _rto=NULL;
_rto=X52run_type(a1);
/*[IF*/
if(X52is_integer(_rto)){
R=((T0*)(C));
}
else if(X52is_real(_rto)){
R=a1;
}
else if(X52is_double(_rto)){
R=a1;
}
else{
R=r272smallest_ancestor((T272*)(r267type_integer_ref()),_rto);
}
/*FI]*/
return R;
}
int fBC267check_type=0;
void r267check_type(T267* C){
if(fBC267check_type==0){fBC267check_type=1;{
T0* _rc=NULL;
T0* _bc=NULL;
_bc=r267base_class(C);
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
_rc=r267run_class(C);
r267load_ref(((T0*)ms15_12595));
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
if(!((/*RF2*/(((T51*)_bc))->_is_expanded/*17*/))){
r267error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_base_class_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms267_38125));
}
/*FI]*/
}
/*FI]*/
}}}
void r267load_ref(T0* a1){
T0* _rf=NULL;
T0* _rc=NULL;
T0* _cn=NULL;
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
/*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(a1);
/*]*/
_cn=((T0*)n);
}
_rc=r51run_class((T51*)(r61base_class(((T61*)_cn))));
_rf=r50get_feature_with(((T50*)_rc),((T0*)ms15_1724));
}
T0* r267to_runnable(T267* C,T0* a1){
T0* R=NULL;
R=((T0*)(C));
r267check_type(C);
return R;
}
T0*oBC267type_integer_ref=NULL;
int fBC267type_integer_ref=0;
T0* r267type_integer_ref(void){
if(fBC267type_integer_ref==0){fBC267type_integer_ref=1;{
T0* _integer_ref=NULL;
{T61*n=((T61*)malloc(sizeof(*n))/*12*/);
*n=M61;
/*[IRF3.3unknown_position*/((((T61*)(n)))->_to_string)=(((T0*)ms15_12595));
/*]*/
_integer_ref=((T0*)n);
}
{T272*n=((T272*)malloc(sizeof(*n))/*8*/);
*n=M272;
oBC267type_integer_ref=((T0*)n);
/*[IRF3.3make*/((((T272*)(n)))->_base_class_name)=(_integer_ref);
/*]*/
}
}}
return oBC267type_integer_ref;
}
void r267id_extra_information(T0* a1){
r48put_string(((T48*)a1),((T0*)ms52_9724));
/*[IF*/
/*AF*//*AE*/
r48put_string(((T48*)a1),((T0*)ms52_759));
/*FI]*/
}
void r267gc_mark_in(T0* a1){
r7append(((T7*)a1),((T0*)ms14_8764));
r2append_in(2,a1);
}
void r267c_type_for_external_in(T0* a1){
/*[IF*/
/*AF*//*AE*/
/*[IRF3.6c_type_for_result_in*/{T0* b1=a1;
r267c_type_for_argument_in(b1);
}/*]*/
/*FI]*/
}
void r267c_type_for_argument_in(T0* a1){
r7extend(((T7*)a1),((T3)'T'));
r7extend(((T7*)a1),((T3)'2'));
}
T0* r267run_time_mark(void){
T0* R=NULL;
R=((T0*)ms15_6643);
return R;
}
T0* r267run_class(T267* C){
T0* R=NULL;
R=r49run_class((T0*)C);
return R;
}
void r267demangling_in(T0* a1){
/*[IF*/
/*AF*//*AE*/
r7extend(((T7*)a1),((T3)'E'));
/*FI]*/
r7extend(((T7*)a1),((T3)'\40'));
r7append(((T7*)a1),r267run_time_mark());
}
T0* r267written_mark(void){
T0* R=NULL;
R=((T0*)ms15_6643);
return R;
}
void r43split_mode_c_compiler_command(T43* C,T0* a1,T0* a2){
/*[IRF3.3clear*/((((T7*)(((T7*)a1))))->_count)=(0);
/*]*/
/*[IF*/
if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_903)))){
r7append(((T7*)a1),((T0*)ms43_903));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_288));
r43append_token(a1,a2);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_8280)))){
r7append(((T7*)a1),((T0*)ms43_918));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,a2);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_396)))){
r7append(((T7*)a1),((T0*)ms43_396));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_288));
r43append_token(a1,a2);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_4542)))){
r7append(((T7*)a1),((T0*)ms43_4488));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,a2);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1985)))){
r7append(((T7*)a1),((T0*)ms43_1985));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_288));
r43append_token(a1,a2);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_6162)))){
r7append(((T7*)a1),((T0*)ms43_6162));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_288));
r43append_token(a1,a2);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_414)))){
r7append(((T7*)a1),((T0*)ms43_414));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_288));
r43append_token(a1,a2);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_428)))){
r7append(((T7*)a1),((T0*)ms43_428));
r43append_token(a1,r43sas_c_compiler_options(1));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,a2);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1620)))){
r7append(((T7*)a1),((T0*)ms43_894));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_288));
r43append_token(a1,a2);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1656)))){
r7append(((T7*)a1),((T0*)ms43_434));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_288));
r43append_token(a1,a2);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_891)))){
r7append(((T7*)a1),((T0*)ms43_891));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_288));
r43append_token(a1,a2);
}
/*FI]*/
}
void r43add_x_suffix(T43* C,T0* a1){
T0* _suffix=NULL;
_suffix=r43x_suffix(C);
/*[IF*/
if(!(r7has_suffix(((T7*)a1),_suffix))){
r7append(((T7*)a1),_suffix);
}
/*FI]*/
}
void r43environment_variable_substitution(T43* C,T0* a1,T0* a2){
T0* _variable=NULL;
T0* _value=NULL;
T3 _c=0;
T2 _mem2=0;
T2 _mem1=0;
T2 _state=0;
T2 _i=0;
_i=1;
while (!((_i)>((/*RF2*/(((T7*)a2))->_count/*4*/))))
{
_c=/*(IRF4.6item*/((/*RF2*/(((T7*)a2))->_storage/*0*/))[(_i)-(1)]/*)*/;
{int z1=_state;
if((0==z1)){
/*[IF*/
if((_c)==(((T3)'\44'))){
_state=1;
_mem1=_i;
}
/*FI]*/
}
else
if((1==z1)){
/*[IF*/
if((_c)==(((T3)'\173'))){
_state=2;
{T7*n=((T7*)malloc(sizeof(*n))/*12*/);
*n=M7;
r7make(n,8);
_variable=((T0*)n);
}
}
else{
_state=0;
}
/*FI]*/
}
else
if((2==z1)){
/*[IF*/
if((_c)==(((T3)'\175'))){
_state=3;
_mem2=_i;
}
else{
r7extend(((T7*)_variable),_c);
}
/*FI]*/
}
}
_i=(_i)+(1);
}
/*[IF*/
if((_state)==(3)){
_value=r43get_environment_variable(C,_variable);
/*[IF*/
if((_value)==((void*)(NULL))){
r35w_put_string(((T0*)ms43_76935));
r35w_put_string(_variable);
r35w_put_string(((T0*)ms43_3636));
r35w_put_string(a1);
r35w_put_string(((T0*)ms43_6412));
}
else{
r7copy(((T7*)_variable),a2);
r7head(((T7*)a2),(_mem1)-(1));
r7append(((T7*)a2),_value);
r7remove_first(((T7*)_variable),_mem2);
r7append(((T7*)a2),_variable);
r43environment_variable_substitution(C,a1,a2);
}
/*FI]*/
}
/*FI]*/
}
void r43put_c_main_function_type(T43* C,T0* a1){
/*[IF*/
if((((T0*)ms43_738))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
r48put_string(((T48*)a1),((T0*)ms14_1736a));
}
else{
r48put_string(((T48*)a1),((T0*)ms14_993));
}
/*FI]*/
}
T0*oBC43compiler_list=NULL;
T0*oBC43object_suffix=NULL;
int fBC43object_suffix=0;
T0* r43object_suffix(T43* C){
if(fBC43object_suffix==0){fBC43object_suffix=1;{
/*[IF*/
if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_903)))){
oBC43object_suffix=((T0*)ms43_314);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_8280)))){
oBC43object_suffix=((T0*)ms43_1444);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_396)))){
/*[IF*/
if(((/*RF2*/(C)->_system_name/*0*/))==((void*)(((T0*)ms43_738)))){
oBC43object_suffix=((T0*)ms43_1444);
r7to_upper(((T7*)oBC43object_suffix));
}
else{
oBC43object_suffix=((T0*)ms43_314);
}
/*FI]*/
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_4542)))){
oBC43object_suffix=((T0*)ms43_1444);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1985)))){
oBC43object_suffix=((T0*)ms43_1444);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_6162)))){
oBC43object_suffix=((T0*)ms43_1444);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_414)))){
oBC43object_suffix=((T0*)ms43_1444);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_428)))){
oBC43object_suffix=((T0*)ms43_314);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1620)))){
oBC43object_suffix=((T0*)ms43_314);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1656)))){
oBC43object_suffix=((T0*)ms43_314);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_891)))){
oBC43object_suffix=((T0*)ms43_314);
}
/*FI]*/
}}
return oBC43object_suffix;
}
T328 oBC1file_tools=0;
void r43external_c_files_for_lcc_win32(T43* C,T0* a1){
T2 _i=0;
T0* _c_file=NULL;
T0* _c_files=NULL;
/*[IF*/
if(!(/*(IRF4.7is_empty*/((/*RF2*/((T7*)(((T0*)ms43_0aaa)))->_count/*4*/))==(0)/*)*/)){
_c_files=r7split((T7*)(((T0*)ms43_0aaa)));
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms43_0aaa)))))->_count)=(0);
/*]*/
/*[IF*/
if((_c_files)!=((void*)(NULL))){
_i=(/*RF2*/(((T44*)_c_files))->_lower/*16*/);
while (!((_i)>((/*RF2*/(((T44*)_c_files))->_upper/*12*/))))
{
_c_file=r44item(((T44*)_c_files),_i);
r7append(((T7*)a1),((T0*)ms43_918));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,_c_file);
r7extend(((T7*)a1),((T3)'\n'));
/*[IRF3.6remove_suffix*/{T7* C1=((T7*)_c_file);
T0* b1=((T0*)ms13_290);
r7remove_last(C1,(/*RF2*/(((T7*)b1))->_count/*4*/));
}/*]*/
r7append(((T7*)_c_file),r43object_suffix(C));
r43append_token(((T0*)ms43_0a),_c_file);
_i=(_i)+(1);
}
}
/*FI]*/
}
/*FI]*/
}
void r43make(T43* C){
T2 _i=0;
T0* _system_se_path=NULL;
_system_se_path=r43get_environment_variable(C,((T0*)ms14_18623));
/*[IF*/
if((_system_se_path)==((void*)(NULL))){
_system_se_path=r7twin((T7*)(((T0*)ms14_18623)));
r7to_upper(((T7*)_system_se_path));
_system_se_path=r43get_environment_variable(C,_system_se_path);
/*[IF*/
if((_system_se_path)==((void*)(NULL))){
r35put_string((T35*)(oBC13echo),((T0*)ms43_225848));
_system_se_path=((T0*)ms43_131716);
r35put_string((T35*)(oBC13echo),_system_se_path);
r35put_string((T35*)(oBC13echo),((T0*)ms14_160));
}
/*FI]*/
}
else{
r35put_string((T35*)(oBC13echo),((T0*)ms43_12311));
r35put_string((T35*)(oBC13echo),_system_se_path);
r35put_string((T35*)(oBC13echo),((T0*)ms14_270));
}
/*FI]*/
/*[IF*/
if(r7has_suffix(((T7*)_system_se_path),((T0*)ms14_13293))){
r35sfr_connect((T35*)(oBC13echo),oBC13tmp_file_read,_system_se_path);
}
else{
r35put_string((T35*)(oBC13echo),((T0*)ms43_848426));
/*[IF*/
if(r7has(((T7*)_system_se_path),((T3)'\57'))){
r35put_string((T35*)(oBC13echo),((T0*)ms43_25014));
r7copy((T7*)(oBC13tmp_path),_system_se_path);
r7extend_unless((T7*)(oBC13tmp_path),((T3)'\57'));
r7append((T7*)(oBC13tmp_path),((T0*)ms14_1053));
r7extend((T7*)(oBC13tmp_path),((T3)'\57'));
r7append((T7*)(oBC13tmp_path),((T0*)ms14_13293));
r35sfr_connect((T35*)(oBC13echo),oBC13tmp_file_read,oBC13tmp_path);
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/((/*RF2*/((T40*)(oBC13tmp_file_read))->_path/*1*/))!=(NULL)/*)*/)){
/*[IF*/
if(r7has(((T7*)_system_se_path),((T3)'\134'))){
r35put_string((T35*)(oBC13echo),((T0*)ms43_28368));
r7copy((T7*)(oBC13tmp_path),_system_se_path);
r7extend_unless((T7*)(oBC13tmp_path),((T3)'\134'));
r7append((T7*)(oBC13tmp_path),((T0*)ms14_1053));
r7extend((T7*)(oBC13tmp_path),((T3)'\134'));
r7append((T7*)(oBC13tmp_path),((T0*)ms14_13293));
r35sfr_connect((T35*)(oBC13echo),oBC13tmp_file_read,oBC13tmp_path);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/((/*RF2*/((T40*)(oBC13tmp_file_read))->_path/*1*/))!=(NULL)/*)*/)){
/*[IF*/
if(r7has(((T7*)_system_se_path),((T3)'\72'))){
r35put_string((T35*)(oBC13echo),((T0*)ms43_30704));
r7copy((T7*)(oBC13tmp_path),_system_se_path);
r7extend_unless((T7*)(oBC13tmp_path),((T3)'\72'));
r7append((T7*)(oBC13tmp_path),((T0*)ms14_1053));
r7extend((T7*)(oBC13tmp_path),((T3)'\72'));
r7append((T7*)(oBC13tmp_path),((T0*)ms14_13293));
r35sfr_connect((T35*)(oBC13echo),oBC13tmp_file_read,oBC13tmp_path);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/((/*RF2*/((T40*)(oBC13tmp_file_read))->_path/*1*/))!=(NULL)/*)*/)){
/*[IF*/
if(r7has(((T7*)_system_se_path),((T3)'\135'))){
r35put_string((T35*)(oBC13echo),((T0*)ms43_18846));
r7copy((T7*)(oBC13tmp_path),_system_se_path);
r7extend_unless((T7*)(oBC13tmp_path),((T3)'\135'));
r7remove_last((T7*)(oBC13tmp_path),1);
r7extend((T7*)(oBC13tmp_path),((T3)'\56'));
r7append((T7*)(oBC13tmp_path),((T0*)ms14_1053));
r7extend((T7*)(oBC13tmp_path),((T3)'\135'));
r7append((T7*)(oBC13tmp_path),((T0*)ms14_13293));
r35sfr_connect((T35*)(oBC13echo),oBC13tmp_file_read,oBC13tmp_path);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/((/*RF2*/((T40*)(oBC13tmp_file_read))->_path/*1*/))!=(NULL)/*)*/)){
r35put_string((T35*)(oBC13echo),((T0*)ms43_7358));
r7copy((T7*)(oBC13tmp_path),_system_se_path);
r7append((T7*)(oBC13tmp_path),((T0*)ms14_13293));
r35sfr_connect((T35*)(oBC13echo),oBC13tmp_file_read,oBC13tmp_path);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(!(/*(IRF4.7is_connected*/((/*RF2*/((T40*)(oBC13tmp_file_read))->_path/*1*/))!=(NULL)/*)*/)){
r35w_put_string(((T0*)ms43_716872));
exit(1);
}
/*FI]*/
r40read_line((T40*)(oBC13tmp_file_read));
(/*SFN*/C->_system_name)=oBC41last_string;
_i=r44index_of((T44*)(oBC43system_list),(/*RF2*/(C)->_system_name/*0*/));
/*[IF*/
if((_i)>((/*RF2*/((T44*)(oBC43system_list))->_upper/*12*/))){
r35w_put_string(((T0*)ms43_43761));
r35w_put_string((/*RF2*/((T40*)(oBC13tmp_file_read))->_path/*1*/));
r35w_put_string(((T0*)ms43_22824));
_i=1;
while (!((_i)>((/*RF2*/((T44*)(oBC43system_list))->_upper/*12*/))))
{
r35w_put_string(r44item((T44*)(oBC43system_list),_i));
r35w_put_character(((T3)'\n'));
_i=(_i)+(1);
}
exit(1);
}
else{
(/*SFN*/C->_system_name)=r44item((T44*)(oBC43system_list),_i);
r35put_string((T35*)(oBC13echo),((T0*)ms43_10010));
r35put_string((T35*)(oBC13echo),(/*RF2*/(C)->_system_name/*0*/));
r35put_string((T35*)(oBC13echo),((T0*)ms14_270));
}
/*FI]*/
(/*SFN*/C->_sys_directory)=r7twin((T7*)((/*RF2*/((T40*)(oBC13tmp_file_read))->_path/*1*/)));
/*[IRF3.6remove_suffix*/{T7* C1=(T7*)((/*RF2*/(C)->_sys_directory/*4*/));
T0* b1=((T0*)ms14_13293);
r7remove_last(C1,(/*RF2*/(((T7*)b1))->_count/*4*/));
}/*]*/
r40disconnect((T40*)(oBC13tmp_file_read));
(/*SFN*/C->_bin_directory)=r7twin((T7*)((/*RF2*/(C)->_sys_directory/*4*/)));
r43parent_directory(C,(/*RF2*/(C)->_bin_directory/*8*/));
r43add_directory(C,(/*RF2*/(C)->_bin_directory/*8*/),((T0*)ms14_939));
}
void r43bad_use_exit(T43* C,T0* a1){
r35w_put_string(((T0*)ms43_46640));
r35w_put_string(a1);
r35w_put_string(((T0*)ms43_285));
r7copy((T7*)(oBC13tmp_path),(/*RF2*/(C)->_sys_directory/*4*/));
r43parent_directory(C,oBC13tmp_path);
r43add_directory(C,oBC13tmp_path,((T0*)ms43_948));
r7append((T7*)(oBC13tmp_path),a1);
r7append((T7*)(oBC13tmp_path),((T0*)ms13_1592));
r35w_put_string(((T0*)ms43_41310));
r35w_put_string(oBC13tmp_path);
r35w_put_character(((T3)'\n'));
exit(1);
}
void r43set_c_compiler(T43* C,T0* a1){
T3 _c=0;
T0* _sd=NULL;
T2 _i=0;
/*[IF*/
if((a1)!=((void*)(NULL))){
_i=r44index_of((T44*)(oBC43compiler_list),a1);
/*[IF*/
if((_i)>((/*RF2*/((T44*)(oBC43compiler_list))->_upper/*12*/))){
r35w_put_string(((T0*)ms43_13776));
r35w_put_string(a1);
r35w_put_string(((T0*)ms43_31119));
r43show_compiler_list_then_exit(C);
}
/*FI]*/
(/*SFN*/C->_c_compiler)=r44item((T44*)(oBC43compiler_list),_i);
}
else{
_sd=(/*RF2*/(C)->_sys_directory/*4*/);
r7copy((T7*)(oBC13tmp_path),_sd);
r7append((T7*)(oBC13tmp_path),((T0*)ms43_18117));
r35sfr_connect_or_exit((T35*)(oBC13echo),oBC13tmp_file_read,oBC13tmp_path);
(/*SFN*/C->_c_compiler)=r35read_word_in((T35*)(oBC13echo),oBC13tmp_file_read);
_i=r44index_of((T44*)(oBC43compiler_list),(/*RF2*/(C)->_c_compiler/*12*/));
/*[IF*/
if((_i)>((/*RF2*/((T44*)(oBC43compiler_list))->_upper/*12*/))){
r35w_put_string(((T0*)ms43_48887));
r35w_put_string((/*RF2*/((T40*)(oBC13tmp_file_read))->_path/*1*/));
r35w_put_string(((T0*)ms43_270a));
r43show_compiler_list_then_exit(C);
}
/*FI]*/
(/*SFN*/C->_c_compiler)=r44item((T44*)(oBC43compiler_list),_i);
/*[IF*/
if(!(r40end_of_input((T40*)(oBC13tmp_file_read)))){
_c=/*(IRF4.6last_character*/((T3)((/*RF2*/((T40*)(oBC13tmp_file_read))->_memory/*9*/)))/*)*/;
while (!(((_c)==(((T3)'\n')))||((_c)==(((T3)'\15')))))
{
r7extend((T7*)(((T0*)ms43_0aaaaaaa)),_c);
r40read_character((T40*)(oBC13tmp_file_read));
/*[IF*/
if(!(r40end_of_input((T40*)(oBC13tmp_file_read)))){
_c=/*(IRF4.6last_character*/((T3)((/*RF2*/((T40*)(oBC13tmp_file_read))->_memory/*9*/)))/*)*/;
}
/*FI]*/
}
}
/*FI]*/
r40disconnect((T40*)(oBC13tmp_file_read));
while (!((/*(IRF4.7is_empty*/((/*RF2*/((T7*)(((T0*)ms43_0aaaaaaa)))->_count/*4*/))==(0)/*)*/)||(!(r3is_separator(/*(IRF4.6first*/((/*RF2*/((T7*)(((T0*)ms43_0aaaaaaa)))->_storage/*0*/))[0]/*)*/)))))
{
r7remove_first((T7*)(((T0*)ms43_0aaaaaaa)),1);
}
/*[IF*/
if(/*(IRF4.7is_empty*/((/*RF2*/((T7*)(((T0*)ms43_0aaaaaaa)))->_count/*4*/))==(0)/*)*/){
/*[IF*/
if((((T0*)ms43_903))==((void*)((/*RF2*/(C)->_c_compiler/*12*/)))){
r7copy((T7*)(((T0*)ms43_0aaaaaaa)),((T0*)ms43_522));
}
else if((((T0*)ms43_8280))==((void*)((/*RF2*/(C)->_c_compiler/*12*/)))){
r7copy((T7*)(((T0*)ms43_0aaaaaaa)),((T0*)ms43_248));
}
else if((((T0*)ms43_396))==((void*)((/*RF2*/(C)->_c_compiler/*12*/)))){
r7copy((T7*)(((T0*)ms43_0aaaaaaa)),((T0*)ms43_248a));
}
else if((((T0*)ms43_4542))==((void*)((/*RF2*/(C)->_c_compiler/*12*/)))){
}
else if((((T0*)ms43_1985))==((void*)((/*RF2*/(C)->_c_compiler/*12*/)))){
r7copy((T7*)(((T0*)ms43_0aaaaaaa)),((T0*)ms43_130240));
}
else if((((T0*)ms43_6162))==((void*)((/*RF2*/(C)->_c_compiler/*12*/)))){
r7copy((T7*)(((T0*)ms43_0aaaaaaa)),((T0*)ms43_44388));
}
else if((((T0*)ms43_414))==((void*)((/*RF2*/(C)->_c_compiler/*12*/)))){
r7copy((T7*)(((T0*)ms43_0aaaaaaa)),((T0*)ms43_20265));
}
else if((((T0*)ms43_428))==((void*)((/*RF2*/(C)->_c_compiler/*12*/)))){
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms43_0aaaaaaa)))))->_count)=(0);
/*]*/
r7copy((T7*)(((T0*)ms43_0aaaaaa)),((T0*)ms43_1592));
/*[IF*/
if(!(r43Scoptions_exists())){
r43append_token(((T0*)ms43_0aaaaaa),((T0*)ms43_44612));
}
/*FI]*/
}
else if((((T0*)ms43_1620))==((void*)((/*RF2*/(C)->_c_compiler/*12*/)))){
r7copy((T7*)(((T0*)ms43_0aaaaaaa)),((T0*)ms43_5376));
}
else if((((T0*)ms43_1656))==((void*)((/*RF2*/(C)->_c_compiler/*12*/)))){
/*[IF*/
if((((T0*)ms43_2395))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
r7copy((T7*)(((T0*)ms43_0aaaaaaa)),((T0*)ms43_5481));
}
/*FI]*/
}
else if((((T0*)ms43_891))==((void*)((/*RF2*/(C)->_c_compiler/*12*/)))){
r7copy((T7*)(((T0*)ms43_0aaaaaaa)),((T0*)ms43_522a));
}
else{
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
T6 oBC43Scoptions_exists=0;
int fBC43Scoptions_exists=0;
T6 r43Scoptions_exists(void){
if(fBC43Scoptions_exists==0){fBC43Scoptions_exists=1;{
oBC43Scoptions_exists=r328is_readable(((T0*)ms43_10260));
}}
return oBC43Scoptions_exists;
}
void r43loading_path_add(T43* C,T0* a1,T0* a2,T2 a3){
T0* _line=NULL;
T0* _file=NULL;
/*[IF*/
if(((a3)>(5))||((r44count(((T44*)a1)))>(1024))){
r35w_put_string(((T0*)ms43_82530));
{T7*n=((T7*)malloc(sizeof(*n))/*12*/);
*n=M7;
r7make(n,1024);
_line=((T0*)n);
}
r43append_lp_in(C,_line,a1);
r35w_put_string(_line);
exit(1);
}
/*FI]*/
{T40*n=((T40*)malloc(sizeof(*n))/*13*/);
*n=M40;
/*[IRF3.1make*//*]*/
_file=((T0*)n);
}
r35sfr_connect((T35*)(oBC13echo),_file,a2);
/*[IF*/
if(/*(IRF4.7is_connected*/((/*RF2*/(((T40*)_file))->_path/*1*/))!=(NULL)/*)*/){
r35put_string((T35*)(oBC13echo),((T0*)ms43_25494));
r35put_string((T35*)(oBC13echo),a2);
r35put_string((T35*)(oBC13echo),((T0*)ms43_9785));
while (!(r40end_of_input(((T40*)_file))))
{
r40read_line(((T40*)_file));
_line=r7twin((T7*)(oBC41last_string));
r43environment_variable_substitution(C,a2,_line);
/*[IF*/
if(r7has_suffix(((T7*)_line),((T0*)ms43_18029))){
r43loading_path_add(C,a1,_line,(a3)+(1));
}
else if(/*(IRF4.7is_empty*/((/*RF2*/(((T7*)_line))->_count/*4*/))==(0)/*)*/){
/*[IF*/
if(!(r40end_of_input(((T40*)_file)))){
r44add_last(((T44*)a1),_line);
}
/*FI]*/
}
else{
r44add_last(((T44*)a1),_line);
}
/*FI]*/
}
r40disconnect(((T40*)_file));
}
/*FI]*/
}
T0*oBC43make_suffix=NULL;
int fBC43make_suffix=0;
T0* r43make_suffix(T43* C){
if(fBC43make_suffix==0){fBC43make_suffix=1;{
/*[IF*/
if((((T0*)ms43_690))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
oBC43make_suffix=((T0*)ms43_1044);
}
else if((((T0*)ms43_9226))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
oBC43make_suffix=((T0*)ms43_1428);
}
else if((((T0*)ms43_738))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
oBC43make_suffix=((T0*)ms43_1076);
}
else if((((T0*)ms43_636))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
oBC43make_suffix=((T0*)ms43_1032);
}
else{
oBC43make_suffix=((T0*)ms43_2300);
}
/*FI]*/
}}
return oBC43make_suffix;
}
T0*oBC43x_suffix=NULL;
int fBC43x_suffix=0;
T0* r43x_suffix(T43* C){
if(fBC43x_suffix==0){fBC43x_suffix=1;{
/*[IF*/
if((((T0*)ms43_690))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
oBC43x_suffix=((T0*)ms43_1472);
r7to_upper(((T7*)oBC43x_suffix));
}
else if((((T0*)ms43_738))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
oBC43x_suffix=((T0*)ms43_1472);
r7to_upper(((T7*)oBC43x_suffix));
}
else if((((T0*)ms43_636))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
oBC43x_suffix=((T0*)ms43_1472);
}
else if((((T0*)ms43_9226))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
oBC43x_suffix=((T0*)ms43_1472);
}
else{
oBC43x_suffix=((T0*)ms43_0aaaa);
}
/*FI]*/
}}
return oBC43x_suffix;
}
void r43show_compiler_list_then_exit(T43* C){
T2 _i=0;
r35w_put_string(((T0*)ms43_29002));
_i=1;
while (!((_i)>((/*RF2*/((T44*)(oBC43compiler_list))->_upper/*12*/))))
{
r35w_put_string(r44item((T44*)(oBC43compiler_list),_i));
r35w_put_character(((T3)'\n'));
_i=(_i)+(1);
}
exit(1);
}
void r43no_split_mode_command(T43* C,T0* a1,T0* a2){
/*[IRF3.3clear*/((((T7*)(((T7*)a1))))->_count)=(0);
/*]*/
/*[IF*/
if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_903)))){
r7append(((T7*)a1),((T0*)ms43_903));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43append_token(a1,a2);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0aa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_8280)))){
r7append(((T7*)a1),((T0*)ms43_918));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,a2);
r7extend(((T7*)a1),((T3)'\n'));
r43external_c_files_for_lcc_win32(C,a1);
r7append(((T7*)a1),((T0*)ms43_6996));
/*[IF*/
if(!((/*RF2*/(C)->_no_strip/*16*/))){
r43append_token(a1,((T0*)ms43_320));
}
/*FI]*/
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43add_output_name(C,a1);
/*[IRF3.6remove_suffix*/{T7* C1=((T7*)a2);
T0* b1=((T0*)ms13_290);
r7remove_last(C1,(/*RF2*/(((T7*)b1))->_count/*4*/));
}/*]*/
r7append(((T7*)a2),r43object_suffix(C));
r43append_token(a1,a2);
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_396)))){
r7append(((T7*)a1),((T0*)ms43_396));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43append_token(a1,a2);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_4542)))){
r7append(((T7*)a1),((T0*)ms43_4542));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43append_token(a1,a2);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1985)))){
r7append(((T7*)a1),((T0*)ms43_1985));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43append_token(a1,a2);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
r43add_lib_math(C);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_6162)))){
r7append(((T7*)a1),((T0*)ms43_6162));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43append_token(a1,a2);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
r43add_lib_math(C);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_414)))){
r7append(((T7*)a1),((T0*)ms43_414));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43append_token(a1,a2);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
r43add_lib_math(C);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_428)))){
r7append(((T7*)a1),((T0*)ms43_428));
r43append_token(a1,r43sas_c_compiler_options(0));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43append_token(a1,a2);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
r43add_lib_math(C);
r43add_output_name(C,a1);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1620)))){
r7append(((T7*)a1),((T0*)ms43_894));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43append_token(a1,a2);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
r43add_lib_math(C);
/*[IF*/
if((/*RF2*/(C)->_no_strip/*16*/)){
r43append_token(a1,((T0*)ms43_320a));
}
/*FI]*/
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1656)))){
r7append(((T7*)a1),((T0*)ms43_434));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43add_lib_math(C);
r43append_token(a1,a2);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_891)))){
r7append(((T7*)a1),((T0*)ms43_891));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43append_token(a1,a2);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0aa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
}
/*FI]*/
}
T2 r43extra_arg(T43* C,T0* a1,T2 a2,T0* a3){
T2 R=0;
/*[IF*/
if((/*(IRF4.6item*/((/*RF2*/(((T7*)a1))->_storage/*0*/))[(1)-(1)]/*)*/)!=(((T3)'\55'))){
/*[IF*/
if(r7has_suffix(((T7*)a1),r43object_suffix(C))){
r43append_token(((T0*)ms43_0a),a1);
R=(a2)+(1);
}
else if(r7has_suffix(((T7*)a1),((T0*)ms13_290))){
r43append_token(((T0*)ms43_0aaa),a1);
R=(a2)+(1);
}
else if(r43is_c_plus_plus_file_path(a1)){
r43append_token(((T0*)ms43_0aa),a1);
R=(a2)+(1);
}
else if(r7has_suffix(((T7*)a1),((T0*)ms43_286))){
r43append_token(((T0*)ms43_0),a1);
R=(a2)+(1);
}
else if(r7has_suffix(((T7*)a1),((T0*)ms43_1428a))){
r43append_token(((T0*)ms43_0),a1);
R=(a2)+(1);
}
else if(r7has_suffix(((T7*)a1),((T0*)ms43_1504))){
r43append_token(((T0*)ms43_0),a1);
R=(a2)+(1);
}
else if(((/*RF2*/((T47*)(oBC13run_control))->_root_class/*5*/))==((void*)(NULL))){
r47compute_root_class((T47*)(oBC13run_control),a1);
R=(a2)+(1);
/*[IF*/
if((a3)!=((void*)(NULL))){
/*[IF*/
if((/*(IRF4.6item*/((/*RF2*/(((T7*)a3))->_storage/*0*/))[(1)-(1)]/*)*/)!=(((T3)'\55'))){
/*[IF*/
if(r7has_suffix(((T7*)a3),r43object_suffix(C))){
}
else if(r7has_suffix(((T7*)a3),((T0*)ms13_290))){
}
else if(r43is_c_plus_plus_file_path(a3)){
}
else{
/*[IRF3.3set_root_procedure*/((((T47*)((T47*)(oBC13run_control))))->_root_procedure_memory)=(a3);
/*]*/
R=(a2)+(2);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
else{
r43append_token(((T0*)ms43_0aaaaaaa),a1);
R=(a2)+(1);
}
/*FI]*/
}
else if(r7has_prefix(((T7*)a1),((T0*)ms43_306))){
r43append_token(((T0*)ms43_0),a1);
R=(a2)+(1);
}
else if(r7has_prefix(((T7*)a1),((T0*)ms43_242))){
r43append_token(((T0*)ms43_0aaaaa),a1);
/*[IF*/
if(r7is_equal(ms43_242a,a1)){
/*[IF*/
if((a3)!=((void*)(NULL))){
r43append_token(((T0*)ms43_0aaaaa),a3);
R=(a2)+(2);
}
/*FI]*/
}
else{
R=(a2)+(1);
}
/*FI]*/
}
else if(r7is_equal(ms43_15800,a1)){
r43append_token(((T0*)ms43_0aaaaaa),a1);
/*[IF*/
if((a3)!=((void*)(NULL))){
r43append_token(((T0*)ms43_0aaaaaa),a3);
R=(a2)+(2);
}
else{
R=(a2)+(1);
}
/*FI]*/
}
else{
r43append_token(((T0*)ms43_0aaaaaaa),a1);
R=(a2)+(1);
}
/*FI]*/
return R;
}
int fBC43add_lib_math=0;
void r43add_lib_math(T43* C){
if(fBC43add_lib_math==0){fBC43add_lib_math=1;{
/*[IF*/
if((((T0*)ms43_1316))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_903)))){
r43append_token(((T0*)ms43_0),((T0*)ms43_786));
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1985)))){
r43append_token(((T0*)ms43_0),((T0*)ms43_786));
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_6162)))){
r43append_token(((T0*)ms43_0),((T0*)ms43_786));
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_414)))){
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_428)))){
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1620)))){
r43append_token(((T0*)ms43_0),((T0*)ms43_786));
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1656)))){
/*[IF*/
if((((T0*)ms43_2395))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
r43append_token(((T0*)ms43_0),((T0*)ms43_8225));
}
else{
r43append_token(((T0*)ms43_0),((T0*)ms43_786));
}
/*FI]*/
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_891)))){
r43append_token(((T0*)ms43_0),((T0*)ms43_6726));
}
/*FI]*/
}}}
void r43add_objects(T43* C,T0* a1,T0* a2,T2 a3){
T2 _i=0;
_i=1;
while (!((_i)>(a3)))
{
r43append_token(a1,a2);
r2append_in(_i,a1);
r7append(((T7*)a1),r43object_suffix(C));
_i=(_i)+(1);
}
}
void r43put_c_main_function_exit(T43* C,T0* a1){
r48put_string(((T48*)a1),((T0*)ms43_6281));
/*[IF*/
if((((T0*)ms43_738))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
r48put_string(((T48*)a1),((T0*)ms43_5868));
}
else{
r48put_string(((T48*)a1),((T0*)ms43_7392));
}
/*FI]*/
}
T6 r43backslash_separator(T43* C){
T6 R=0;
/*[IF*/
if((((T0*)ms43_9226))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
R=1;
}
else if((((T0*)ms43_690))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
R=1;
}
else if((((T0*)ms43_636))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
R=1;
}
/*FI]*/
return R;
}
T0* r43get_environment_variable(T43* C,T0* a1){
T0* R=NULL;
T8 _p=NULL;
_p=r7to_external(((T7*)a1));
R=(NULL==(_p=getenv((char*)_p)))?NULL:((T0*)se_string_from_external_copy((char*)_p));
return R;
}
T6 r43strip_executable(T43* C,T0* a1){
T6 R=0;
T0* _output_name=NULL;
/*[IRF3.3clear*/((((T7*)(((T7*)a1))))->_count)=(0);
/*]*/
/*[IF*/
if(!((/*RF2*/(C)->_no_strip/*16*/))){
_output_name=(/*RF2*/((T47*)(oBC13run_control))->_output_name/*17*/);
/*[IF*/
if((((T0*)ms43_1296))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
R=1;
r7append(((T7*)a1),((T0*)ms43_4524));
/*[IF*/
if((_output_name)==((void*)(NULL))){
r7append(((T7*)a1),((T0*)ms43_2435));
}
else{
r7append(((T7*)a1),_output_name);
}
/*FI]*/
}
else if((((T0*)ms43_636))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
R=1;
r7append(((T7*)a1),((T0*)ms43_11004));
/*[IF*/
if((_output_name)==((void*)(NULL))){
r7append(((T7*)a1),((T0*)ms43_2325));
}
else{
r7append(((T7*)a1),_output_name);
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r43add_c_plus_plus_file(T43* C,T0* a1){
r43append_token(((T0*)ms43_0aa),a1);
/*[IF*/
if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_903)))){
/*[IF*/
if((/*(IRF4.6item*/((/*RF2*/((T7*)(((T0*)ms43_903)))->_storage/*0*/))[(2)-(1)]/*)*/)==(((T3)'c'))){
/*[IRF3.5put*/((/*RF2*/((T7*)((/*RF2*/(C)->_c_compiler/*12*/)))->_storage/*0*/))[(2)-(1)]=(((T3)'\53'));
/*]*/
/*[IRF3.5put*/((/*RF2*/((T7*)((/*RF2*/(C)->_c_compiler/*12*/)))->_storage/*0*/))[(3)-(1)]=(((T3)'\53'));
/*]*/
}
/*FI]*/
}
/*FI]*/
}
T0* r43sas_c_compiler_options(T6 a1){
T0* R=NULL;
/*[IF*/
if(r43Scoptions_exists()){
R=((T0*)ms43_0aaaaaaaa);
}
else{
{T7*n=((T7*)malloc(sizeof(*n))/*12*/);
*n=M7;
r7make(n,0);
R=((T0*)n);
}
r7append(((T7*)R),((T0*)ms43_147254));
/*[IF*/
if(a1){
r7append(((T7*)R),((T0*)ms43_12924));
}
else{
r7append(((T7*)R),((T0*)ms43_15200));
}
/*FI]*/
r7append(((T7*)R),((T0*)ms43_24570));
r7append(((T7*)R),((T0*)ms43_44604));
}
/*FI]*/
return R;
}
T6 r43is_c_plus_plus_file_path(T0* a1){
T6 R=0;
/*[IF*/
if(r7has_suffix(((T7*)a1),((T0*)ms13_1476))){
R=1;
}
else if(r7has_suffix(((T7*)a1),((T0*)ms43_732))){
R=1;
}
else if(r7has_suffix(((T7*)a1),((T0*)ms43_226))){
R=1;
}
/*FI]*/
return R;
}
void r43put_mark_stack_and_registers(T43* C){
T0* _architecture=NULL;
r7copy((T7*)(oBC13tmp_path),(/*RF2*/(C)->_sys_directory/*4*/));
r7append((T7*)(oBC13tmp_path),((T0*)ms14_404));
r35sfr_connect_or_exit((T35*)(oBC13echo),oBC13tmp_file_read,oBC13tmp_path);
_architecture=r35read_word_in((T35*)(oBC13echo),oBC13tmp_file_read);
r40disconnect((T40*)(oBC13tmp_file_read));
/*[IF*/
if(r7is_equal((T7*)(((T0*)ms15_1216)),_architecture)){
/*[IRF3.6append*/{T0* b1=((T0*)ms43_122271);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=oBC13tmp_path;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms43_129050);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_warning((T66*)(oBC13eh));
_architecture=((T0*)ms43_12780);
}
/*FI]*/
r7copy((T7*)(oBC13tmp_path),(/*RF2*/(C)->_sys_directory/*4*/));
r43add_directory(C,oBC13tmp_path,((T0*)ms14_6588));
r7append((T7*)(oBC13tmp_path),_architecture);
r35sfr_connect_or_exit((T35*)(oBC13echo),oBC13tmp_file_read,oBC13tmp_path);
/*[IRF3.6put_c_file*/{T0* b1=oBC13tmp_file_read;
r325put_file(b1,oBC325out_c);
}/*]*/
}
T0*oBC43system_list=NULL;
void r43add_output_name(T43* C,T0* a1){
T0* _output_name=NULL;
_output_name=(/*RF2*/((T47*)(oBC13run_control))->_output_name/*17*/);
/*[IF*/
if((_output_name)==((void*)(NULL))){
_output_name=r7twin((T7*)((/*RF2*/((T47*)(oBC13run_control))->_root_class/*5*/)));
r7to_lower(((T7*)_output_name));
/*[IF*/
if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_8280)))){
r43append_token(a1,((T0*)ms43_312));
r43append_token(a1,_output_name);
r43add_x_suffix(C,a1);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1985)))){
r43append_token(a1,((T0*)ms43_292));
r7append(((T7*)a1),_output_name);
r43add_x_suffix(C,a1);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_6162)))){
r43append_token(a1,((T0*)ms43_292));
r7append(((T7*)a1),_output_name);
r43add_x_suffix(C,a1);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_4542)))){
r43append_token(a1,((T0*)ms43_312));
r7append(((T7*)a1),_output_name);
r43add_x_suffix(C,a1);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_428)))){
_output_name=r7twin((T7*)((/*RF2*/((T47*)(oBC13run_control))->_root_class/*5*/)));
r7to_lower(((T7*)_output_name));
r7append(((T7*)a1),((T0*)ms43_1036));
r7append(((T7*)a1),_output_name);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1620)))){
r43append_token(a1,((T0*)ms43_312));
r7append(((T7*)a1),_output_name);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1656)))){
r43append_token(a1,((T0*)ms43_312));
r7append(((T7*)a1),_output_name);
}
/*FI]*/
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_903)))){
r43append_token(a1,((T0*)ms43_312));
r43append_token(a1,_output_name);
r43add_x_suffix(C,a1);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_8280)))){
r43append_token(a1,((T0*)ms43_312));
r43append_token(a1,_output_name);
r43add_x_suffix(C,a1);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_396)))){
r43append_token(a1,((T0*)ms43_312));
r43append_token(a1,_output_name);
r43add_x_suffix(C,a1);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_4542)))){
r43append_token(a1,((T0*)ms43_312));
r43append_token(a1,_output_name);
r43add_x_suffix(C,a1);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1985)))){
r43append_token(a1,((T0*)ms43_292));
r7append(((T7*)a1),_output_name);
r43add_x_suffix(C,a1);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_6162)))){
r43append_token(a1,((T0*)ms43_292));
r7append(((T7*)a1),_output_name);
r43add_x_suffix(C,a1);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_414)))){
r43append_token(a1,((T0*)ms43_312));
r7append(((T7*)a1),_output_name);
r43add_x_suffix(C,a1);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_428)))){
r7append(((T7*)a1),((T0*)ms43_1036));
r43append_token(a1,_output_name);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1620)))){
r43append_token(a1,((T0*)ms43_312));
r43append_token(a1,_output_name);
r43add_x_suffix(C,a1);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1656)))){
r43append_token(a1,((T0*)ms43_312));
r43append_token(a1,_output_name);
r43add_x_suffix(C,a1);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_891)))){
r43append_token(a1,((T0*)ms43_312));
r43append_token(a1,_output_name);
r43add_x_suffix(C,a1);
}
/*FI]*/
}
T0*oBC43id_file_path=NULL;
int fBC43id_file_path=0;
T0* r43id_file_path(T43* C){
if(fBC43id_file_path==0){fBC43id_file_path=1;{
oBC43id_file_path=r43path_h(C);
/*[IRF3.6remove_suffix*/{T7* C1=((T7*)oBC43id_file_path);
T0* b1=((T0*)ms13_300);
r7remove_last(C1,(/*RF2*/(((T7*)b1))->_count/*4*/));
}/*]*/
r7append(((T7*)oBC43id_file_path),((T0*)ms43_753));
}}
return oBC43id_file_path;
}
T6 r43slash_separator(T43* C){
T6 R=0;
/*[IF*/
if((((T0*)ms43_1296))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
R=1;
}
else if((((T0*)ms43_1316))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
R=1;
}
/*FI]*/
return R;
}
void r43sys_runtime(T43* C,T0* a1,T3 a2){
r7copy((T7*)(oBC13tmp_path),(/*RF2*/(C)->_sys_directory/*4*/));
r43add_directory(C,oBC13tmp_path,((T0*)ms14_8883));
r7append((T7*)(oBC13tmp_path),a1);
r7extend((T7*)(oBC13tmp_path),((T3)'\56'));
r7extend((T7*)(oBC13tmp_path),a2);
r35sfr_connect_or_exit((T35*)(oBC13echo),oBC13tmp_file_read,oBC13tmp_path);
}
void r43append_token(T0* a1,T0* a2){
/*[IF*/
if(!(/*(IRF4.7is_empty*/((/*RF2*/(((T7*)a2))->_count/*4*/))==(0)/*)*/)){
/*[IF*/
if((/*(IRF4.6first*/((/*RF2*/(((T7*)a2))->_storage/*0*/))[0]/*)*/)!=(((T3)'\40'))){
/*[IF*/
if(!(/*(IRF4.7is_empty*/((/*RF2*/(((T7*)a1))->_count/*4*/))==(0)/*)*/)){
r7extend_unless(((T7*)a1),((T3)'\40'));
}
/*FI]*/
}
/*FI]*/
r7append(((T7*)a1),a2);
}
/*FI]*/
}
void r43append_lp_in(T43* C,T0* a1,T0* a2){
T0* _sed=NULL;
T2 _i=0;
r7append(((T7*)a1),((T0*)ms43_11880));
_i=(/*RF2*/(((T44*)a2))->_lower/*16*/);
while (!((_i)>((/*RF2*/(((T44*)a2))->_upper/*12*/))))
{
r7extend(((T7*)a1),((T3)'\40'));
r7extend(((T7*)a1),((T3)'\42'));
r7append(((T7*)a1),r44item(((T44*)a2),_i));
r7extend(((T7*)a1),((T3)'\42'));
r7extend(((T7*)a1),((T3)'\n'));
_i=(_i)+(1);
}
r7append(((T7*)a1),((T0*)ms43_33210));
_sed=r43get_environment_variable(C,((T0*)ms14_18623));
/*[IF*/
if((_sed)==((void*)(NULL))){
r7append(((T7*)a1),((T0*)ms43_5166));
}
else{
r7append(((T7*)a1),((T0*)ms43_132));
r7append(((T7*)a1),_sed);
r7append(((T7*)a1),((T0*)ms43_270));
}
/*FI]*/
}
void r43add_directory(T43* C,T0* a1,T0* a2){
T3 _last=0;
/*[IF*/
if(r43slash_separator(C)){
r7extend_unless(((T7*)a1),((T3)'\57'));
r7append(((T7*)a1),a2);
r7extend_unless(((T7*)a1),((T3)'\57'));
}
else if(r43backslash_separator(C)){
r7extend_unless(((T7*)a1),((T3)'\134'));
r7append(((T7*)a1),a2);
r7extend_unless(((T7*)a1),((T3)'\134'));
}
else if((((T0*)ms43_12816))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
r7extend_unless(((T7*)a1),((T3)'\72'));
r7append(((T7*)a1),a2);
r7extend_unless(((T7*)a1),((T3)'\72'));
}
else if((((T0*)ms43_2395))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
_last=r7last(((T7*)a1));
/*[IF*/
if(((_last)!=(((T3)'\57')))&&((_last)!=(((T3)'\72')))){
r7extend_unless(((T7*)a1),((T3)'\57'));
}
/*FI]*/
r7append(((T7*)a1),a2);
r7extend_unless(((T7*)a1),((T3)'\57'));
}
else if((((T0*)ms43_738))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
r7extend_unless(((T7*)a1),((T3)'\135'));
r7remove_last(((T7*)a1),1);
r7extend_unless(((T7*)a1),((T3)'\56'));
r7append(((T7*)a1),a2);
r7extend_unless(((T7*)a1),((T3)'\135'));
}
else{
}
/*FI]*/
}
void r43parent_directory(T43* C,T0* a1){
/*[IF*/
if(r43slash_separator(C)){
r7remove_last(((T7*)a1),1);
while (!((/*(IRF4.7is_empty*/((/*RF2*/(((T7*)a1))->_count/*4*/))==(0)/*)*/)||((r7last(((T7*)a1)))==(((T3)'\57')))))
{
r7remove_last(((T7*)a1),1);
}
}
else if(r43backslash_separator(C)){
r7remove_last(((T7*)a1),1);
while (!((/*(IRF4.7is_empty*/((/*RF2*/(((T7*)a1))->_count/*4*/))==(0)/*)*/)||((r7last(((T7*)a1)))==(((T3)'\134')))))
{
r7remove_last(((T7*)a1),1);
}
}
else if((((T0*)ms43_12816))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
r7remove_last(((T7*)a1),1);
while (!((/*(IRF4.7is_empty*/((/*RF2*/(((T7*)a1))->_count/*4*/))==(0)/*)*/)||((r7last(((T7*)a1)))==(((T3)'\72')))))
{
r7remove_last(((T7*)a1),1);
}
}
else if((((T0*)ms43_2395))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
r7remove_last(((T7*)a1),1);
while (!((/*(IRF4.7is_empty*/((/*RF2*/(((T7*)a1))->_count/*4*/))==(0)/*)*/)||(r7has(ms43_210,r7last(((T7*)a1))))))
{
r7remove_last(((T7*)a1),1);
}
}
else if((((T0*)ms43_738))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
r7remove_last(((T7*)a1),1);
while (!((/*(IRF4.7is_empty*/((/*RF2*/(((T7*)a1))->_count/*4*/))==(0)/*)*/)||((r7last(((T7*)a1)))==(((T3)'\56')))))
{
r7remove_last(((T7*)a1),1);
}
r7remove_last(((T7*)a1),1);
r7extend(((T7*)a1),((T3)'\135'));
}
else{
}
/*FI]*/
}
T0* r43path_h(T43* C){
T0* R=NULL;
R=r7twin((T7*)((/*RF2*/((T47*)(oBC13run_control))->_root_class/*5*/)));
r7to_lower(((T7*)R));
/*[IF*/
if((((T0*)ms43_690))==((void*)((/*RF2*/(C)->_system_name/*0*/)))){
while (!(((/*RF2*/(((T7*)R))->_count/*4*/))<=(4)))
{
r7remove_last(((T7*)R),1);
}
}
/*FI]*/
r7append(((T7*)R),((T0*)ms13_300));
return R;
}
void r43split_mode_linker_command(T43* C,T0* a1,T0* a2,T2 a3){
/*[IRF3.3clear*/((((T7*)(((T7*)a1))))->_count)=(0);
/*]*/
/*[IF*/
if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_903)))){
r7append(((T7*)a1),((T0*)ms43_903));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43add_objects(C,a1,a2,a3);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0aa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_8280)))){
r43external_c_files_for_lcc_win32(C,a1);
r7append(((T7*)a1),((T0*)ms43_6996));
/*[IF*/
if(!((/*RF2*/(C)->_no_strip/*16*/))){
r43append_token(a1,((T0*)ms43_320));
}
/*FI]*/
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43add_output_name(C,a1);
r43add_objects(C,a1,a2,a3);
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_396)))){
r7append(((T7*)a1),((T0*)ms43_396));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43add_objects(C,a1,a2,a3);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_4542)))){
r7append(((T7*)a1),((T0*)ms43_2745));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43add_objects(C,a1,a2,a3);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1985)))){
r7append(((T7*)a1),((T0*)ms43_1985));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43add_objects(C,a1,a2,a3);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
r43add_lib_math(C);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_6162)))){
r7append(((T7*)a1),((T0*)ms43_6162));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43add_objects(C,a1,a2,a3);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
r43add_lib_math(C);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_414)))){
r7append(((T7*)a1),((T0*)ms43_414));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43add_objects(C,a1,a2,a3);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
r43add_lib_math(C);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_428)))){
r7append(((T7*)a1),((T0*)ms43_428));
r43append_token(a1,r43sas_c_compiler_options(1));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,a2);
r7append(((T7*)a1),((T0*)ms43_58212));
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
r43add_output_name(C,a1);
/*[IF*/
if(!((/*RF2*/(C)->_no_strip/*16*/))){
r7append(((T7*)a1),((T0*)ms43_17413));
}
/*FI]*/
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1620)))){
r7append(((T7*)a1),((T0*)ms43_894));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43add_objects(C,a1,a2,a3);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
/*[IF*/
if((/*RF2*/(C)->_no_strip/*16*/)){
r43append_token(a1,((T0*)ms43_3786));
}
/*FI]*/
r43add_lib_math(C);
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_1656)))){
r7append(((T7*)a1),((T0*)ms43_434));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43add_lib_math(C);
r43add_objects(C,a1,a2,a3);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
}
else if(((/*RF2*/(C)->_c_compiler/*12*/))==((void*)(((T0*)ms43_891)))){
r7append(((T7*)a1),((T0*)ms43_891));
r43append_token(a1,((T0*)ms43_0aaaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaaa));
r43append_token(a1,((T0*)ms43_0aaaaa));
r43add_output_name(C,a1);
r43add_objects(C,a1,a2,a3);
r43append_token(a1,((T0*)ms43_0aaa));
r43append_token(a1,((T0*)ms43_0aa));
r43append_token(a1,((T0*)ms43_0a));
r43append_token(a1,((T0*)ms43_0));
}
/*FI]*/
}
void r43read_loading_path_in(T43* C,T0* a1){
r43loading_path_add(C,a1,((T0*)ms43_18029),1);
r7copy((T7*)(oBC13tmp_path),(/*RF2*/(C)->_sys_directory/*4*/));
r7append((T7*)(oBC13tmp_path),((T0*)ms43_8478));
r7append((T7*)(oBC13tmp_path),(/*RF2*/(C)->_system_name/*0*/));
r43loading_path_add(C,a1,oBC13tmp_path,1);
}
void r119compile_to_c_old(T119* C){
X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
T0* r119runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X104to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
}
r119fatal_error(((T0*)ms116_16290));
}
/*FI]*/
return R;
}
void r119run_feature_has_result(T119* C){
/*[IF*/
if((X334result_type((/*RF2*/(C)->_run_feature/*16*/)))==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*16*/)),&se_tmp0)));
}
r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
r119fatal_error(((T0*)ms115_53215));
}
/*FI]*/
}
void r119run_feature_match(T119* C,T0* a1){
r119run_feature_has_result(C);
X139match_with((/*RF2*/(C)->_arguments/*8*/),(/*RF2*/(C)->_run_feature/*16*/),a1);
}
T0* r119add_comment(T119* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
R=((T0*)(C));
}
else{
{T229*n=((T229*)malloc(sizeof(*n))/*12*/);
*n=M229;
r229make(n,(T0*)C,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
void r119with(T119* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
(/*SFN*/C->_target)=a1;
(/*SFN*/C->_feature_name)=a2;
(/*SFN*/C->_arguments)=a3;
(/*SFN*/C->_run_feature)=a4;
r119run_feature_match(C,a5);
}
void r119mapping_c_target(T119* C,T0* a1){
T0* _actual_type=NULL;
T6 _flag=0;
_flag=r325call_invariant_start(a1);
_actual_type=X52run_type(r119result_type(C));
/*[IF*/
if(X52is_reference(_actual_type)){
/*[IF*/
if(X52is_reference(a1)){
X52mapping_cast(a1);
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T119* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T119* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
else{
/*[IF*/
if(X52is_reference(a1)){
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T119* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
else{
/*[IF*/
if(X52need_c_struct(a1)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\46');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\50');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T119* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.4compile_to_c*//*[IRF3.6call_proc_call_c2c*/{T119* C1=C;
r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
}/*]*/
/*]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(_flag){
/*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
T3 b1=((T3)'\51');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
void r119afd_check(T119* C){
T0* _running=NULL;
T0* _rc=NULL;
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
_rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
_running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
/*[IF*/
if((_running)==((void*)(NULL))){
}
else if((r53count(((T53*)_running)))>(1)){
r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*16*/));
}
/*FI]*/
}
/*FI]*/
X104afd_check((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
void r119c_declare_for_old(T119* C){
X104c_declare_for_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139c_declare_for_old*/r139c_declare_for_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
void r119collect_c_tmp(T119* C){
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))!=((void*)(NULL))){
X334collect_c_tmp((/*RF2*/(C)->_run_feature/*16*/));
}
/*FI]*/
X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if(((/*RF2*/(C)->_arguments/*8*/))!=((void*)(NULL))){
/*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
T0* r119operator(void){
T0* R=NULL;
R=((T0*)ms15_8211);
return R;
}
T6 r119use_current(T119* C){
T6 R=0;
/*[IF*/
{/*AT*/R=/*SSFRF4*//*X139use_current*/r139use_current((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
/*[IF*/
if(R){
}
else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
R=X334use_current((/*RF2*/(C)->_run_feature/*16*/));
}
else{
R=X104use_current((/*RF2*/(C)->_target/*4*/));
}
/*FI]*/
return R;
}
T0* r119runnable_args(T0* a1,T0* a2){
T0* R=NULL;
R=X139to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
}
r119fatal_error(((T0*)ms14_12870));
}
/*FI]*/
return R;
}
T0* r119to_runnable(T119* C,T0* a1){
T0* R=NULL;
T0* _target_type=NULL;
T0* _argument_type=NULL;
T0* _rf=NULL;
T0* _a=NULL;
T0* _t=NULL;
_t=r119runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
_a=r119runnable_args((/*RF2*/(C)->_arguments/*8*/),a1);
_target_type=X104result_type(_t);
_argument_type=X104result_type(r119arg1(C));
/*[IF*/
if(X52is_real(_argument_type)){
/*[IF*/
if(X52is_integer(_target_type)){
_t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
}
/*FI]*/
}
else if(X52is_double(_argument_type)){
/*[IF*/
if((X52is_integer(_target_type))||(X52is_real(_target_type))){
_t=r341implicit_cast((T341*)(oBC13conversion_handler),_t,_argument_type);
}
/*FI]*/
}
/*FI]*/
_rf=r119run_feature_for(C,_t,a1);
/*[IF*/
if(((/*RF2*/(C)->_run_feature/*16*/))==((void*)(NULL))){
(/*SFN*/C->_target)=_t;
(/*SFN*/C->_arguments)=_a;
(/*SFN*/C->_run_feature)=_rf;
r119run_feature_match(C,a1);
R=((T0*)(C));
}
else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*8*/))))){
R=((T0*)(C));
}
else{
{T119*n=((T119*)malloc(sizeof(*n))/*24*/);
*n=M119;
r119with(n,_t,(/*RF2*/(C)->_feature_name/*12*/),_a,_rf,a1);
R=((T0*)n);
}
}
/*FI]*/
return R;
}
T2 r119to_integer(T119* C){
T2 R=0;
r119error(/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/,((T0*)ms14_45441));
return R;
}
T6 r119is_static(T119* C){
T6 R=0;
/*[IF*/
if(X52is_boolean(X104result_type((/*RF2*/(C)->_target/*4*/)))){
/*[IF*/
if(X104is_static((/*RF2*/(C)->_target/*4*/))){
/*[IF*/
if((X104static_value((/*RF2*/(C)->_target/*4*/)))==(1)){
R=1;
(/*SFN*/C->_static_value_mem)=1;
}
else{
R=X104is_static(r119arg1(C));
/*[IF*/
if(R){
(/*SFN*/C->_static_value_mem)=X104static_value(r119arg1(C));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r119finalize(T119* C){
T0* _rf=NULL;
T0* _rc=NULL;
_rf=(/*RF2*/(C)->_run_feature/*16*/);
_rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
(/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
}
void r119error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r119result_type(T119* C){
T0* R=NULL;
T0* _tla=NULL;
R=X334result_type((/*RF2*/(C)->_run_feature/*16*/));
/*[IF*/
if(X52is_like_current(R)){
R=/*SSWARF2*//*X334current_type*/(/*RF2*/((T368*)((/*RF2*/(C)->_run_feature/*16*/)))->_current_type/*8*/);
}
else{
_tla=R;
if(NULL!=(_tla)){
switch(((T0*)_tla)->id){
case 257:
break;
default:
_tla=NULL;
}
}/*[IF*/
if((_tla)!=((void*)(NULL))){
R=X52run_type(X104result_type(r119arg1(C)));
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r119arg1(T119* C){
T0* R=NULL;
R=/*SSFRF4*//*X139first*//*(IRF4.3first*/(/*RF2*/((T139*)((/*RF2*/(C)->_arguments/*8*/)))->_first_one/*4*/)/*)*/;
return R;
}
T6 r119call_proc_call_stupid_switch(T119* C,T0* a1){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_arguments/*8*/))==((void*)(NULL))){
R=1;
}
else{
R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*8*/)),a1);
}
/*FI]*/
/*[IF*/
if(R){
/*[IF*/
if(X104is_current((/*RF2*/(C)->_target/*4*/))){
/*[IF*/
if(r49same_base_feature((/*RF2*/(C)->_run_feature/*16*/),a1)){
R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*16*/),a1))!=((void*)(NULL));
}
else{
R=0;
}
/*FI]*/
}
else{
R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
}
/*FI]*/
}
/*FI]*/
return R;
}
T0* r119run_feature_for(T119* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _bc=NULL;
T0* _rt=NULL;
T0* _rc=NULL;
_rt=X104result_type(a1);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_rc=X52run_class(_rt);
/*[IF*/
if((_rc)!=((void*)(NULL))){
_bc=r50base_class(((T50*)_rc));
R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*12*/),a2);
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((R)==((void*)(NULL))){
r66add_position((/*RF2*/((T129*)((/*RF2*/(C)->_feature_name/*12*/)))->_start_position/*4*/));
/*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
T0* r119static_result_base_class(T119* C){
T0* R=NULL;
T0* _cn=NULL;
T0* _rt=NULL;
T0* _e_feature=NULL;
T0* _bc=NULL;
_bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
/*[IF*/
if((_bc)!=((void*)(NULL))){
_e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*12*/));
/*[IF*/
if((_e_feature)!=((void*)(NULL))){
_rt=X90result_type(_e_feature);
/*[IF*/
if((_rt)!=((void*)(NULL))){
_cn=X52static_base_class_name(_rt);
/*[IF*/
if((_cn)!=((void*)(NULL))){
R=r61base_class(((T61*)_cn));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
return R;
}
void r119make(T119* C,T0* a1,T68 a2,T0* a3){
(/*SFN*/C->_target)=a1;
{T129*n=((T129*)malloc(sizeof(*n))/*20*/);
*n=M129;
r129make(n,r119operator(),a2);
(/*SFN*/C->_feature_name)=((T0*)n);
}
{T139*n=((T139*)malloc(sizeof(*n))/*16*/);
*n=M139;
/*[IRF3.3make_1*/((((T139*)(n)))->_first_one)=(a3);
/*]*/
(/*SFN*/C->_arguments)=((T0*)n);
}
}
void r119fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r119assertion_check(T119* C,T3 a1){
/*[IF*/
if((a1)==(((T3)'R'))){
X334vape_check_from((/*RF2*/(C)->_run_feature/*16*/),/*(IRF4.6start_position*/(/*RF2*/(((T129*)((/*RF2*/(C)->_feature_name/*12*/))))->_start_position/*4*/)/*)*/);
}
/*FI]*/
X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
X104assertion_check(r119arg1(C),a1);
}
T6 r119stupid_switch(T119* C,T0* a1){
T6 R=0;
R=r119call_proc_call_stupid_switch(C,a1);
/*[IF*/
if(R){
R=!(X52is_native_array(r119result_type(C)));
}
/*FI]*/
return R;
}
void r274standard_c_object_model(T274* C){
T0* _rc=NULL;
T2 _mem_id=0;
_rc=r274run_class(C);
_mem_id=(/*RF2*/(((T50*)_rc))->_id/*4*/);
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104)))))->_count)=(0);
/*]*/
r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
r2append_in(_mem_id,((T0*)ms52_783104));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'M'));
r2append_in(_mem_id,((T0*)ms52_783104));
r325put_extern7((T325*)(oBC13cpp),((T0*)ms52_783104));
/*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
/*]*/
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104)))))->_count)=(0);
/*]*/
r50c_object_model_in(((T50*)_rc),((T0*)ms52_783104));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
/*]*/
r325swap_on_h((T325*)(oBC13cpp));
}
T0* r274generic_list(T274* C){
T0* R=NULL;
R=X52generic_list((/*RF2*/(C)->_mapped/*16*/));
return R;
}
T6 r274need_gc_mark_function(T274* C){
T6 R=0;
R=r50gc_mark_to_follow((T50*)(r274run_class(C)));
return R;
}
void r274standard_c_print_function(T274* C){
/*[IF*/
if(r47no_check((T47*)(oBC13run_control))){
r50c_print_function((T50*)(r274run_class(C)));
}
/*FI]*/
}
T2 r274id(T274* C){
T2 R=0;
R=(/*RF2*/((T50*)(r274run_class(C)))->_id/*4*/);
return R;
}
void r274cast_to_ref(T274* C){
X52cast_to_ref((/*RF2*/(C)->_run_type/*24*/));
}
void r274c_header_pass3(T274* C){
/*[IF*/
if(r274need_c_struct(C)){
/*[IF*/
if(((/*RF2*/(C)->_run_type/*24*/))==((void*)(C))){
r274standard_c_struct(C);
}
else{
X52c_header_pass3((/*RF2*/(C)->_run_type/*24*/));
}
/*FI]*/
r274standard_c_object_model(C);
}
/*FI]*/
}
void r274gc_call_new_in(T274* C,T0* a1){
r7append(((T7*)a1),((T0*)ms14_990));
r2append_in(r274id(C),a1);
r7extend(((T7*)a1),((T3)'\50'));
r7extend(((T7*)a1),((T3)'\51'));
}
void r274standard_c_struct(T274* C){
T0* _t=NULL;
T0* _a=NULL;
T2 _mem_id=0;
T2 _i=0;
T0* _wa=NULL;
_mem_id=r274id(C);
_wa=r50writable_attributes((T50*)(r274run_class(C)));
r7copy((T7*)(((T0*)ms52_783104)),((T0*)ms14_5495));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'S'));
r2append_in(_mem_id,((T0*)ms52_783104));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\173'));
/*[IF*/
/*AF*//*AE*/
/*FI]*/
/*[IF*/
if((_wa)!=((void*)(NULL))){
_i=(/*RF2*/(((T346*)_wa))->_upper/*12*/);
while (!((_i)==(0)))
{
_a=r346item(((T346*)_wa),_i);
_t=X52run_type((/*RF2*/(((T345*)_a))->_result_type/*28*/));
X52c_type_for_result_in(_t,((T0*)ms52_783104));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\137'));
r7append((T7*)(((T0*)ms52_783104)),X82to_string((/*RF2*/(((T345*)_a))->_name/*12*/)));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\73'));
_i=(_i)-(1);
}
}
/*FI]*/
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\175'));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
/*]*/
/*[IF*/
{/*AT*/r7copy((T7*)(((T0*)ms52_783104)),((T0*)ms14_993));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_7749));
r2append_in(_mem_id,((T0*)ms52_783104));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms52_248));
r2append_in(_mem_id,((T0*)ms52_783104));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms52_1600));
r2append_in(_mem_id,((T0*)ms52_783104));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms52_936));
r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104),((T0*)ms52_87312));
}
/*FI]*/
}
T0* r274base_class(T274* C){
T0* R=NULL;
T0* _bcn=NULL;
_bcn=r274base_class_name(C);
/*[IF*/
if((_bcn)!=((void*)(NULL))){
R=r61base_class(((T61*)_bcn));
}
else{
/*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66add_type((T0*)C,((T0*)ms14_46));
r66print_as_fatal_error((T66*)(oBC13eh));
}
/*FI]*/
return R;
}
T0* r274look_up_for(T274* C,T0* a1,T0* a2){
T0* R=NULL;
R=r51look_up_for((T51*)(r274base_class(C)),a1,a2);
return R;
}
T2 r274c_sizeof(T274* C){
T2 R=0;
R=r50c_sizeof((T50*)(r274run_class(C)));
return R;
}
T6 r274has_creation(T274* C,T0* a1){
T6 R=0;
R=r51has_creation((T51*)(r274base_class(C)),a1);
return R;
}
T6 r274need_c_struct(T274* C){
T6 R=0;
/*[IF*/
if(X52is_expanded((/*RF2*/(C)->_mapped/*16*/))){
R=X52need_c_struct((/*RF2*/(C)->_mapped/*16*/));
}
else{
R=(r50writable_attributes((T50*)(r274run_class(C))))!=((void*)(NULL));
}
/*FI]*/
return R;
}
void r274mapping_cast(T274* C){
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_15456)))))->_count)=(0);
/*]*/
r7extend((T7*)(((T0*)ms52_15456)),((T3)'\50'));
r274c_type_for_target_in(C,((T0*)ms52_15456));
r7extend((T7*)(((T0*)ms52_15456)),((T3)'\51'));
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_15456));
/*]*/
}
T0* r274compute_mark(T0* a1){
T0* R=NULL;
r7copy((T7*)(((T0*)ms52_783104)),((T0*)ms14_10720));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
r7append((T7*)(((T0*)ms52_783104)),a1);
R=((/*UT*/(void)((T21*)(r274string_aliaser()))),r21item(((T0*)ms52_783104)));
return R;
}
T0* r274actual_reference(T274* C,T0* a1){
T0* R=NULL;
T68 _sp={NULL,0};
{T68 se_tmp0;
_sp=(*(se_tmp0=X52start_position(a1),&se_tmp0));
}
/*[IF*/
if(X52is_expanded((/*RF2*/(C)->_mapped/*16*/))){
{T389*n=((T389*)malloc(sizeof(*n))/*24*/);
*n=M389;
r389from_expanded(n,_sp,(/*RF2*/(C)->_mapped/*16*/));
R=((T0*)n);
}
}
else{
R=(/*RF2*/(C)->_mapped/*16*/);
}
/*FI]*/
return R;
}
T6 r274is_a_in(T274* C,T0* a1,T0* a2){
T6 R=0;
T0* _ct=NULL;
T0* _t2=NULL;
T0* _t1=NULL;
/*[IF*/
if(((/*RF2*/(C)->_written_mark/*12*/))==((void*)(X52written_mark(a1)))){
R=1;
}
else{
_ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
_t1=r274to_runnable(C,_ct);
_t2=X52to_runnable(a1,_ct);
/*[IF*/
if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
R=1;
}
else{
R=X52is_a(_t1,_t2);
}
/*FI]*/
}
/*FI]*/
return R;
}
void r274standard_c_typedef(T274* C){
T2 _mem_id=0;
_mem_id=r274id(C);
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_783104)))))->_count)=(0);
/*]*/
/*[IF*/
if(r274need_c_struct(C)){
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_6448));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_5495));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'S'));
r2append_in(_mem_id,((T0*)ms52_783104));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
r2append_in(_mem_id,((T0*)ms52_783104));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
}
else if(r274is_dummy_expanded(C)){
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_6448));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_993));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'\40'));
r7extend((T7*)(((T0*)ms52_783104)),((T3)'T'));
r2append_in(_mem_id,((T0*)ms52_783104));
r7append((T7*)(((T0*)ms52_783104)),((T0*)ms14_138));
}
/*AF*//*FI]*/
/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_783104));
/*]*/
}
T6 r274is_native_array(T274* C){
T6 R=0;
T0* _tna=NULL;
_tna=NULL;
R=(_tna)!=((void*)(NULL));
return R;
}
T6 r274is_boolean(T274* C){
T6 R=0;
R=X52is_boolean((/*RF2*/(C)->_mapped/*16*/));
return R;
}
T6 r274is_a(T274* C,T0* a1){
T6 R=0;
R=X52is_a((/*RF2*/(C)->_mapped/*16*/),a1);
/*[IF*/
if(!(R)){
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
/*]*/
/*]*/
r66add_type((T0*)C,((T0*)ms14_17460));
r66add_type(a1,((T0*)ms14_46));
}
/*FI]*/
return R;
}
T6 r274is_generic(T274* C){
T6 R=0;
R=X52is_generic((/*RF2*/(C)->_mapped/*16*/));
return R;
}
void r274make(T274* C,T68 a1,T0* a2){
(/*SFN*/C->_start_position)=a1;
(/*SFN*/C->_mapped)=a2;
(/*SFN*/C->_written_mark)=r274compute_mark(X52written_mark((/*RF2*/(C)->_mapped/*16*/)));
}
T6 r274is_real(T274* C){
T6 R=0;
R=X52is_real((/*RF2*/(C)->_mapped/*16*/));
return R;
}
T6 r274is_user_expanded(T274* C){
T6 R=0;
/*[IF*/
if(X52is_basic_eiffel_expanded((/*RF2*/(C)->_mapped/*16*/))){
}
else{
R=1;
}
/*FI]*/
return R;
}
T6 r274is_integer(T274* C){
T6 R=0;
R=X52is_integer((/*RF2*/(C)->_mapped/*16*/));
return R;
}
void r274standard_gc_define2_for_expanded(T274* C){
T2 _rcid=0;
T0* _rc=NULL;
_rc=r274run_class(C);
/*[IF*/
if(r50gc_mark_to_follow(((T50*)_rc))){
_rcid=(/*RF2*/(((T50*)_rc))->_id/*4*/);
r7copy((T7*)(((T0*)ms52_783104a)),((T0*)ms14_1736a));
r7extend((T7*)(((T0*)ms52_783104a)),((T3)'\40'));
r274gc_mark_in(C,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_248aa));
r2append_in(_rcid,((T0*)ms52_783104a));
r7append((T7*)(((T0*)ms52_783104a)),((T0*)ms52_582a));
/*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_3073536)))))->_count)=(0);
/*]*/
r50gc_mark_fixed_size(((T50*)_rc),1,((T0*)ms52_3073536));
r325put_c_function((T325*)(oBC13cpp),((T0*)ms52_783104a),((T0*)ms52_3073536));
}
/*FI]*/
}
void r274from_other(T274* C,T0* a1,T0* a2){
(/*SFN*/C->_start_position)=(/*RF2*/(((T274*)a1))->_start_position/*4*/);
(/*SFN*/C->_written_mark)=(/*RF2*/(((T274*)a1))->_written_mark/*12*/);
(/*SFN*/C->_mapped)=a2;
/*[IF*/
if(X52is_expanded((/*RF2*/(C)->_mapped/*16*/))){
(/*SFN*/C->_run_time_mark)=X52run_time_mark((/*RF2*/(C)->_mapped/*16*/));
(/*SFN*/C->_run_type)=(/*RF2*/(C)->_mapped/*16*/);
}
else{
(/*SFN*/C->_run_time_mark)=r274compute_mark(X52run_time_mark((/*RF2*/(C)->_mapped/*16*/)));
(/*SFN*/C->_run_type)=((T0*)(C));
}
/*FI]*/
}
void r274c_initialize_in(T274* C,T0* a1){
/*[IF*/
if(r274is_basic_eiffel_expanded(C)){
X52c_initialize_in((/*RF2*/(C)->_run_type/*24*/),a1);
}
else{
/*[IF*/
if(r274need_c_struct(C)){
r50c_object_model_in((T50*)(r274run_class(C)),a1);
}
else{
r7extend(((T7*)a1),((T3)'0'));
}
/*FI]*/
}
/*FI]*/
}
T0* r274smallest_ancestor(T274* C,T0* a1){
T0* R=NULL;
/*[IF*/
if(((/*RF2*/(C)->_run_time_mark/*20*/))==((void*)(X52run_time_mark(a1)))){
R=(/*RF2*/(C)->_run_type/*24*/);
}
else{
R=X52run_type(X52smallest_ancestor((/*RF2*/(C)->_mapped/*16*/),a1));
}
/*FI]*/
return R;
}
T0* r274string_aliaser(void){
if(fBC13string_aliaser==0){fBC13string_aliaser=1;{
{T21*n=((T21*)malloc(1));
oBC13string_aliaser=((T0*)n);
/*[IRF3.2make*//*[IRF3.6add1*/{T0* b1=((T0*)ms15_696);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1915);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_669);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1980);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9234);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6405);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12529);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9801);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16393);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12550);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_4728);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10740);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12030);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14817);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6307);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6643);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12595);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_5508);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_17448);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1216);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7928);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6776);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12804);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1168);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7576);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_4956);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16692);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19124);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_921);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10680);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_64);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_368);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_61);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_246);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_62);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9408);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_242);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_60);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_45);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_42);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_216);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1011);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_450);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8211);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_43);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_94);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_552);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_564);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_47);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_188);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_35);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11424);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2600);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_22524));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6702);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11776);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_29246));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13419);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1644);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19294);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1772);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15070);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15570);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27034);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15190);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15890);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19151);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13491);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_28490);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8750);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_19437);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_23829);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27272);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_10528);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13707);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6846);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1664);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2760);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22248);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22788);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_30660);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13995);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_432);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_22596));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_60104);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_24960);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_34432);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11144);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_18964);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1724);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1744);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_6762);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1656);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
r21add2(((T0*)ms15_60016));
r21add2(((T0*)ms15_26880));
r21add2(((T0*)ms15_33240));
r21add2(((T0*)ms15_21624));
r21add2(((T0*)ms15_60060));
r21add2(((T0*)ms15_26908));
r21add2(((T0*)ms15_33270));
r21add2(((T0*)ms15_21648));
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_17886);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_21192);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2785);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11496);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_53940);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2440);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2445);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_32730);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12744);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13662);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8547);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8505);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9436);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14193);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915a);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_34528);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13752);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11336);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_26156);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_11376);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27580);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_33990);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27443);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_40358);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_25584);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7380);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7530);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13977);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_14175);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16970);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_8820);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7326);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22716);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_12978);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16770);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_16850);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9051);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_21300);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_56720);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1800);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_2780);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_27456);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_15650);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_9275);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_58075);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_22140);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_13833);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_7314);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*[IRF3.6add1*/{T0* b1=((T0*)ms15_1608);
r23put((T23*)(oBC21memory),b1,b1);
}/*]*/
/*]*/
}
}}
return oBC13string_aliaser;
}
T6 r274is_double(T274* C){
T6 R=0;
R=X52is_double((/*RF2*/(C)->_mapped/*16*/));
return R;
}
T0* r274to_runnable(T274* C,T0* a1){
T0* R=NULL;
T0* _m=NULL;
/*[IF*/
if(((/*RF2*/(C)->_run_type/*24*/))==((void*)(C))){
R=((T0*)(C));
}
else if(((/*RF2*/(C)->_run_type/*24*/))==((void*)((/*RF2*/(C)->_mapped/*16*/)))){
R=((T0*)(C));
}
else{
_m=X52to_runnable((/*RF2*/(C)->_mapped/*16*/),a1);
/*[IF*/
if((_m)==((void*)(NULL))){
r66add_position((/*RF2*/(C)->_start_position/*4*/));
r274fatal_error(((T0*)ms274_41652));
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_run_type/*24*/))!=((void*)(NULL))){
{T274*n=((T274*)malloc(sizeof(*n))/*28*/);
*n=M274;
r274from_other(n,(T0*)C,X52run_type(_m));
R=((T0*)n);
}
}
else if(X52is_expanded(_m)){
(/*SFN*/C->_run_type)=_m;
(/*SFN*/C->_run_time_mark)=X52run_time_mark(_m);
R=((T0*)(C));
}
else if(((/*RF2*/(C)->_mapped/*16*/))==((void*)(X52run_type(_m)))){
(/*SFN*/C->_run_time_mark)=r274compute_mark(X52run_time_mark(_m));
(/*SFN*/C->_run_type)=((T0*)(C));
R=((T0*)(C));
}
else{
(/*SFN*/C->_run_time_mark)=r274compute_mark(X52run_time_mark(_m));
{T274*n=((T274*)malloc(sizeof(*n))/*28*/);
*n=M274;
r274from_other(n,(T0*)C,X52run_type(_m));
(/*SFN*/C->_run_type)=((T0*)n);
}
R=((T0*)(C));
}
/*FI]*/
r50set_at_run_time((T50*)(X52run_class((/*RF2*/(C)->_mapped/*16*/))));
r50set_at_run_time((T50*)(X52run_class((/*RF2*/(((T274*)R))->_run_type/*24*/))));
}
/*FI]*/
return R;
}
T6 r274is_pointer(T274* C){
T6 R=0;
R=X52is_pointer((/*RF2*/(C)->_mapped/*16*/));
return R;
}
void r274id_extra_information(T0* a1){
r48put_string(((T48*)a1),((T0*)ms52_9724));
/*[IF*/
/*AF*//*AE*/
r48put_string(((T48*)a1),((T0*)ms52_759));
/*FI]*/
}
void r274gc_mark_in(T274* C,T0* a1){
r7append(((T7*)a1),((T0*)ms14_8764));
r2append_in(r274id(C),a1);
}
void r274c_type_for_external_in(T274* C,T0* a1){
/*[IF*/
/*AF*//*AE*/
r274c_type_for_result_in(C,a1);
/*FI]*/
}
void r274c_type_for_argument_in(T274* C,T0* a1){
/*[IF*/
if(X52is_expanded((/*RF2*/(C)->_mapped/*16*/))){
X52c_type_for_argument_in((/*RF2*/(C)->_mapped/*16*/),a1);
}
else if(r274is_dummy_expanded(C)){
r7append(((T7*)a1),((T0*)ms14_993));
}
else{
r7extend(((T7*)a1),((T3)'T'));
r2append_in(r274id(C),a1);
}
/*FI]*/
}
T0* r274run_class(T274* C){
T0* R=NULL;
R=r49run_class((/*RF2*/(C)->_run_type/*24*/));
return R;
}
T6 r274is_dummy_expanded(T274* C){
T6 R=0;
/*[IF*/
if(r274is_user_expanded(C)){
R=(r50writable_attributes((T50*)(r274run_class(C))))==((void*)(NULL));
}
/*FI]*/
return R;
}
void r274fatal_error(T0* a1){
/*[IRF3.6append*/{T0* b1=a1;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r274c_type_for_result_in(T274* C,T0* a1){
/*[IF*/
if(r274is_dummy_expanded(C)){
r7append(((T7*)a1),((T0*)ms14_993));
}
else{
r7extend(((T7*)a1),((T3)'T'));
r2append_in(r274id(C),a1);
}
/*FI]*/
}
void r274c_type_for_target_in(T274* C,T0* a1){
/*[IF*/
if(r274is_dummy_expanded(C)){
r7append(((T7*)a1),((T0*)ms14_993));
}
else{
r7extend(((T7*)a1),((T3)'T'));
r2append_in(r274id(C),a1);
r7extend(((T7*)a1),((T3)'\52'));
}
/*FI]*/
}
T0* r274expanded_initializer(T274* C){
T0* R=NULL;
R=r51expanded_initializer((T51*)(r274base_class(C)),(T0*)C);
return R;
}
T6 r274is_basic_eiffel_expanded(T274* C){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_run_type/*24*/))==((void*)((/*RF2*/(C)->_mapped/*16*/)))){
R=X52is_basic_eiffel_expanded((/*RF2*/(C)->_mapped/*16*/));
}
/*FI]*/
return R;
}
T6 r274stupid_switch(T274* C,T0* a1){
T6 R=0;
R=X52stupid_switch((/*RF2*/(C)->_mapped/*16*/),a1);
return R;
}
void r274demangling_in(T274* C,T0* a1){
/*[IF*/
/*AF*//*AE*/
r7extend(((T7*)a1),((T3)'E'));
/*FI]*/
r7extend(((T7*)a1),((T3)'\40'));
r7append(((T7*)a1),(/*RF2*/(C)->_run_time_mark/*20*/));
}
void r274c_initialize(T274* C){
/*[IF*/
if(r274is_basic_eiffel_expanded(C)){
X52c_initialize((/*RF2*/(C)->_run_type/*24*/));
}
else{
r274c_initialize_expanded(C);
}
/*FI]*/
}
T6 r274is_character(T274* C){
T6 R=0;
R=X52is_character((/*RF2*/(C)->_mapped/*16*/));
return R;
}
T0* r274base_class_name(T274* C){
T0* R=NULL;
R=X52base_class_name((/*RF2*/(C)->_mapped/*16*/));
return R;
}
void r274c_frame_descriptor(T274* C){
r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
/*[IF*/
/*AF*//*AE*/
r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'E'));
/*FI]*/
r2append_in(r274id(C),oBC13c_frame_descriptor_format);
r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
}
void r274c_initialize_expanded(T274* C){
T0* _rf=NULL;
T2 _i=0;
T0* _wa=NULL;
/*[IF*/
if(r274is_dummy_expanded(C)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'0');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
else{
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\173');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
_wa=r50writable_attributes((T50*)(r274run_class(C)));
_i=(/*RF2*/(((T346*)_wa))->_upper/*12*/);
while (!((_i)==(0)))
{
_rf=r346item(((T346*)_wa),_i);
X52c_initialize((/*RF2*/(((T345*)_rf))->_result_type/*28*/));
_i=(_i)-(1);
/*[IF*/
if((_i)>(0)){
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\54');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
/*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
T3 b1=((T3)'\175');
putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
}/*]*/
/*]*/
}
/*FI]*/
}
T6 r274is_bit(T274* C){
T6 R=0;
R=X52is_bit((/*RF2*/(C)->_mapped/*16*/));
return R;
}
T0* r291try_to_undefine_aux(T291* C,T0* a1,T0* a2){
T0* R=NULL;
{T287*n=((T287*)malloc(sizeof(*n))/*44*/);
*n=M287;
r287from_effective(n,a1,(/*RF2*/(C)->_arguments/*20*/),(/*RF2*/(C)->_result_type/*48*/),(/*RF2*/(C)->_require_assertion/*28*/),(/*RF2*/(C)->_ensure_assertion/*32*/),a2);
R=((T0*)n);
}
return R;
}
T0* r291try_to_undefine(T291* C,T0* a1,T0* a2){
T0* R=NULL;
T0* _fn2=NULL;
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(a1),&se_tmp0)));
}
_fn2=r83feature_name((T83*)((/*RF2*/(C)->_names/*8*/)),X82to_key(a1));
/*[IF*/
if((_fn2)!=((void*)(NULL))){
X82undefine_in(_fn2,a2);
}
/*FI]*/
/*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
/*]*/
/*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
/*]*/
/*]*/
R=r291try_to_undefine_aux(C,a1,a2);
/*[IF*/
if((R)!=((void*)(NULL))){
X284set_clients(R,(/*RF2*/(C)->_clients/*16*/));
r291merge_header_comments(C,R);
}
else{
r51fatal_undefine(((T51*)a2),a1);
}
/*FI]*/
return R;
}
void r291check_obsolete(T291* C,T68 a1){
/*[IF*/
if(((/*RF2*/(C)->_obsolete_mark/*24*/))!=((void*)(NULL))){
/*[IF*/
if(!((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/))){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=((T0*)ms90_19170);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=(/*RF2*/((T161*)((/*RF2*/(C)->_obsolete_mark/*24*/)))->_to_string/*12*/);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
{T68 se_tmp0;
r66add_position((*(se_tmp0=r291start_position(C),&se_tmp0)));
}
r66print_as_warning((T66*)(oBC13eh));
}
/*FI]*/
}
/*FI]*/
}
T6 r291use_current(T291* C){
T6 R=0;
R=X288use_current((/*RF2*/(C)->_native/*40*/),(T0*)C);
return R;
}
T0* r291to_run_feature(T291* C,T0* a1,T0* a2){
T0* R=NULL;
{T333*n=((T333*)malloc(sizeof(*n))/*48*/);
*n=M333;
r333make(n,a1,a2,(T0*)C);
R=((T0*)n);
}
return R;
}
void r291error(T68 a1,T0* a2){
r66add_position(a1);
/*[IRF3.6append*/{T0* b1=a2;
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
T0* r291external_c_name(T291* C){
T0* R=NULL;
/*[IF*/
if(((/*RF2*/(C)->_alias_string/*44*/))==((void*)(NULL))){
R=X82to_string(/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/(C)->_names/*8*/))))->_first/*0*/)/*)*/);
}
else{
R=(/*RF2*/(C)->_alias_string/*44*/);
}
/*FI]*/
return R;
}
T6 r291is_not_mergeable_with(T291* C,T0* a1){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_result_type/*48*/))==((void*)(NULL))){
R=(X90result_type(a1))!=((void*)(NULL));
}
else{
R=(X90result_type(a1))==((void*)(NULL));
}
/*FI]*/
/*[IF*/
if(R){
/*[IRF3.6append*/{T0* b1=((T0*)ms90_64152);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
}
else{
/*[IF*/
if(((/*RF2*/(C)->_arguments/*20*/))==((void*)(NULL))){
R=(X90arguments(a1))!=((void*)(NULL));
}
else{
R=(X90arguments(a1))==((void*)(NULL));
}
/*FI]*/
/*[IF*/
if(R){
/*[IRF3.6append*/{T0* b1=((T0*)ms90_82612);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
}
else if(((/*RF2*/(C)->_arguments/*20*/))==((void*)(NULL))){
}
else if((/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)((/*RF2*/(C)->_arguments/*20*/)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)!=(/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)(X90arguments(a1)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)){
/*[IRF3.6append*/{T0* b1=((T0*)ms90_66660);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
R=1;
}
/*FI]*/
}
/*FI]*/
r291merge_header_comments(C,a1);
return R;
}
void r291set_header_comment(T291* C,T0* a1){
/*[IF*/
if(((a1)!=((void*)(NULL)))&&((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)>(1))){
(/*SFN*/C->_end_comment)=a1;
}
/*FI]*/
}
void r291set_rescue_compound(T291* C,T0* a1){
/*[IF*/
if((a1)!=((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=r215start_position(((T215*)a1)),&se_tmp0)));
}
}
else{
{T68 se_tmp0;
r66add_position((*(se_tmp0=r291start_position(C),&se_tmp0)));
}
}
/*FI]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms289_126054);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_fatal_error((T66*)(oBC13eh));
}
void r291make_routine(T291* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
/*[IRF3.3make_e_feature*/((((T291*)(C)))->_names)=(a1);
/*]*/
(/*SFN*/C->_header_comment)=a4;
(/*SFN*/C->_arguments)=a2;
(/*SFN*/C->_obsolete_mark)=a3;
(/*SFN*/C->_require_assertion)=a5;
}
void r291make(T291* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5,T0* a6,T0* a7,T0* a8){
r291make_routine(C,a1,a2,a4,a5,a6);
(/*SFN*/C->_result_type)=a3;
r291make_external_routine(C,a7,a8);
}
void r291make_external_routine(T291* C,T0* a1,T0* a2){
(/*SFN*/C->_native)=a1;
(/*SFN*/C->_alias_string)=a2;
}
void r291add_into(T291* C,T0* a1){
T0* _fn=NULL;
T2 _i=0;
{T68 se_tmp0;
(/*SFN*/C->_base_class)=(/*RF2*/((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),1)),&se_tmp0)))._base_class/*0*/);
}
_i=1;
while (!((_i)>(r83count((T83*)((/*RF2*/(C)->_names/*8*/))))))
{
_fn=r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i);
/*[IF*/
if(r91has(((T91*)a1),X82to_key(_fn))){
_fn=/*SSFRF4*//*X90first_name*//*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T198*)(r91at(((T91*)a1),X82to_key(_fn))))->_names/*8*/))))->_first/*0*/)/*)*/;
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(_fn),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=X82start_position(r83item((T83*)((/*RF2*/(C)->_names/*8*/)),_i)),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms90_41470);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X82to_string(_fn);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
else{
r91put(((T91*)a1),(T0*)C,X82to_key(_fn));
}
/*FI]*/
_i=(_i)+(1);
}
}
T6 r291can_hide(T291* C,T0* a1,T0* a2){
T6 R=0;
/*[IF*/
if(((/*RF2*/(C)->_result_type/*48*/))!=((void*)(X90result_type(a1)))){
/*[IF*/
if((((/*RF2*/(C)->_result_type/*48*/))==((void*)(NULL)))||((X90result_type(a1))==((void*)(NULL)))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
}
{T68 se_tmp0;
r291error((*(se_tmp0=r291start_position(C),&se_tmp0)),((T0*)ms90_64152));
}
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if(((/*RF2*/(C)->_arguments/*20*/))!=((void*)(X90arguments(a1)))){
/*[IF*/
if((((/*RF2*/(C)->_arguments/*20*/))==((void*)(NULL)))||((X90arguments(a1))==((void*)(NULL)))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
}
{T68 se_tmp0;
r291error((*(se_tmp0=r291start_position(C),&se_tmp0)),((T0*)ms90_82612));
}
}
else if((/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)((/*RF2*/(C)->_arguments/*20*/)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)!=(/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/((T178*)(X90arguments(a1)))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
}
{T68 se_tmp0;
r291error((*(se_tmp0=r291start_position(C),&se_tmp0)),((T0*)ms90_66660));
}
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
if(((/*RF2*/(C)->_result_type/*48*/))!=((void*)(NULL))){
/*[IF*/
if(!(X52is_a_in((/*RF2*/(C)->_result_type/*48*/),X90result_type(a1),a2))){
/*[IRF3.6append*/{T0* b1=((T0*)ms90_51136);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X52run_time_mark((/*RF2*/(((T50*)a2))->_current_type/*0*/));
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
/*[IF*/
if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0)){
/*[IF*/
if(((/*RF2*/(C)->_arguments/*20*/))!=((void*)(NULL))){
/*[IF*/
if(!(r178is_a_in((T178*)((/*RF2*/(C)->_arguments/*20*/)),X90arguments(a1),a2))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X90start_position(a1),&se_tmp0)));
}
{T68 se_tmp0;
r66add_position((*(se_tmp0=r291start_position(C),&se_tmp0)));
}
/*[IRF3.6append*/{T0* b1=((T0*)ms90_51136);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=X52run_time_mark((/*RF2*/(((T50*)a2))->_current_type/*0*/));
r7append((T7*)(oBC66explanation),b1);
}/*]*/
/*[IRF3.6append*/{T0* b1=((T0*)ms14_46);
r7append((T7*)(oBC66explanation),b1);
}/*]*/
r66print_as_error((T66*)(oBC13eh));
}
/*FI]*/
}
/*FI]*/
}
/*FI]*/
R=(/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)==(0);
/*[IF*/
if(R){
r291merge_header_comments(C,a1);
}
/*FI]*/
return R;
}
void r291merge_header_comments(T291* C,T0* a1){
/*[IF*/
if((/*RF2*/((T49*)(oBC13small_eiffel))->_short_flag/*5*/)){
/*[IF*/
if(((/*RF2*/(C)->_header_comment/*12*/))==((void*)(NULL))){
(/*SFN*/C->_header_comment)=/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/);
}
else if((/*SSWARF2*//*X90header_comment*/(/*RF2*/(((T198*)a1))->_header_comment/*12*/))==((void*)(NULL))){
X90set_header_comment(a1,(/*RF2*/(C)->_header_comment/*12*/));
}
/*FI]*/
}
/*FI]*/
}
T68 r291start_position(T291* C){
T68 R={NULL,0};
{T68 se_tmp0;
R=(*(se_tmp0=X82start_position(/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/(C)->_names/*8*/))))->_first/*0*/)/*)*/),&se_tmp0));
}
return R;
}
void r121compile_to_c_old(T121* C){
X104compile_to_c_old((/*RF2*/(C)->_target/*4*/));
/*[IF*/
{/*AT*//*SSPRF3*//*X139compile_to_c_old*/r139compile_to_c_old((T139*)((/*RF2*/(C)->_arguments/*8*/)));
}
/*FI]*/
}
T0* r121runnable_expression(T0* a1,T0* a2){
T0* R=NULL;
R=X104to_runnable(a1,a2);
/*[IF*/
if((R)==((void*)(NULL))){
{T68 se_tmp0;
r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
}
r121fatal_error(((T0*)ms116_16290));
}
/*FI]*/
return R;
}